Макросы

Макросы

Вопрос от Андрея:

Между "@" и "" в начале абзацев (не всех) расставлены стили, которые необходимо применить к абзацам, а саму отметку стереть. Вот, например: @MIH_HEAD_F АУДИТОРСКОЕ ЗАКЛЮЧЕНИЕ. После работы макроса получаем:"АУДИТОРСКОЕ ЗАКЛЮЧЕНИЕ" стилем MIH_HEAD_F. При этом в тексте могут встречаться и простые @ (например e-mail) без знака. Все возможные стили уже в ворде.

Я предложил следующий пример макроса:

Подробнее

Время от времени пользователям редактора Word требуется изменить что-то (текст, форматирование) сразу в нескольких документах, без необходимости работы с каждым документом по отдельности. В качестве примера могу привести Макрос пакетной замены, с помощью которого возможно искать и менять какой-то единый текст во многих документах одновременно.

 

И вот недавно ко мне обратился Дмитрий с просьбой помочь ему в аналогичной ситуации. Он спрашивал:

Дано очень много файлов формата rtf и doc. Необходимо их отформатировать разом, не открывая каждый в отдельности, а именно: изменить во всех размер шрифта на 12, поставить абзацы 1.25, сделать times new roman, изменить поля, покрасить текст в черный, интервал одинарный. Помогите, пожалуйста!

Я предложил Дмитрию воспользоваться следующим макросом (см. код ниже). Но затем подумал, что пользователям наверное было бы удобнее использовать специальную форму для выбора необходимых параметров форматирования текста, нежели копаться в коде макроса и менять эти параметры вручную.

Подробнее

Валерий спрашивает:

Как из текста в Word 2007 выбрать все слова на определенную букву, расположить их в алфавитном порядке и сохранить их в отдельном файле?

Валерий, вот пример макроса для ваших целей, подсказанный Александром Витером.

Подробнее

Вопрос от Макса:

Нужно в документе WORD сделать обтекание текстом ВСЕХ рисунков. Как это сделать? По одному делается без проблем, но их очень много, а всех вместе никак...

Попробуйте такой макрос (на копии документа - на всякий случай):

Sub wrapImages()
'Обтекание текстом для всех типов графических объектов
Dim pic As Object
On Error Resume Next
For Each pic In ActiveDocument.Content.InlineShapes
  If pic.Type = wdInlineShapePicture Then
   pic.InlineShapes(1).ConvertToShape
   pic.ShapeRange.WrapFormat.Type = wdWrapTight
  End If
Next
For Each pic In ActiveDocument.Content.ShapeRange
  If pic.Type = msoPicture Then
   pic.ShapeRange.WrapFormat.Type = wdWrapSquare
  End If
Next
End Sub

Поступил интересный вопрос от Павла. Он спрашивает:

У меня подключено несколько сетевых принтеров. Можно ли с помощью разных кнопок-макросов печатать на разные предопределенные принтера, а не только на принтер по умолчанию?

Мой соавтор Александр Витер предложил воспользоваться методом ActivePrinter, и я набросал небольшой макрос.

 

Пусть, например, у вас есть сетевой принтер по имени "Полное_Сетевое_Имя_Принтера" (смотрите наименования в настройках печати). Тогда макрос будет следующий:

Подробнее

Вопрос от Светланы:

На странице имеется объект, например shape1. Его необходимо перенести в колонтитулы этой же страницы. Каким образом это возможно сделать на vba?

Светлана, если у вас в документе действительно содержится объект shape (автофигура), то вот пример макроса, который занесет эту фигуру в верхний колонтитул:

Подробнее

^ Наверх