Разное

Макрос ворд: Создание и запуск макроса — Word

Содержание

Создание и запуск макроса — Word

Чтобы сэкономить время при выполнении часто повторяющихся задач, объедините несколько действий в макрос. Сначала необходимо записать макрос. Затем вы сможете запускать его нажатием кнопки на панели быстрого доступа или с помощью сочетания клавиш. Способ запуска зависит от того, как вы настроите макрос.

  1. В меню Вид последовательно выберите пункты Макросы и Записать макрос.

  2. Введите имя макроса.

  3. Чтобы использовать этот макрос во всех новых документах, проверьте, что в поле Сохранить изменения в указано значение Всех документов (Normal.dotm).

  4. Чтобы запускать макрос нажатием кнопки, выберите пункт Кнопка.

  5. Щелкните новый макрос (у него будет имя примерно следующего вида: Normal.NewMacros.<имя вашего макроса>), а затем нажмите кнопку Добавить.

  6. Нажмите кнопку Изменить.

  7. Выберите изображение для кнопки, введите нужное имя и дважды нажмите OK.

  8. Теперь необходимо записать все шаги макроса. Выбирайте команды или нажимайте клавиши для каждого шага задачи. Word будет записывать все, что вы щелкаете мышью, и все клавиши, которые вы нажимаете.

    Примечание: Во время записи макроса для выделения текста используйте клавиатуру. Макрос не записывает выделения, сделанные с помощью мыши.

  9. Чтобы остановить запись, в меню Вид последовательно выберите пункты Макросы и Остановить запись.

На панели быстрого доступа появится кнопка для вашего макроса.

Чтобы запустить макрос, нажмите эту кнопку.

  1. В меню Вид последовательно выберите пункты Макросы и Записать макрос.

  2. Введите имя макроса.

  3. Чтобы использовать этот макрос во всех новых документах, проверьте, что в поле Сохранить изменения в указано значение Всех документов (Normal. dotm).

  4. Чтобы запускать макрос с помощью сочетания клавиш, выберите пункт

    Клавиатура.

  5. Введите сочетание клавиш в поле Новое сочетание клавиш.

  6. Проверьте, не назначено ли такое же сочетание клавиш какой-либо другой команде. Если такое сочетание клавиш назначено какой-либо другой команде, то попробуйте использовать другое сочетание клавиш.

  7. Чтобы использовать этот макрос во всех новых документах, проверьте, что в поле Сохранить в указано значение Normal.dotm.

  8. Нажмите кнопку Назначить.

  9. Теперь необходимо записать все шаги макроса. Выбирайте команды или нажимайте клавиши для каждого шага задачи. Word будет записывать все, что вы щелкаете мышью, и все клавиши, которые вы нажимаете.

    Примечание: Во время записи макроса для выделения текста используйте клавиатуру. Макрос не записывает выделения, сделанные с помощью мыши.

  10. Чтобы остановить запись, в меню Вид последовательно выберите пункты Макросы и Остановить запись.

Чтобы запустить макрос, нажмите сочетание клавиш.

Чтобы запустить макрос, нажмите кнопку на панели быстрого доступа, нажмите сочетание клавиш или запустите макрос из списка

Макросы.

  1. В меню Вид последовательно выберите пункты Макросы и Просмотр макросов.

  2. В пункте Имя макроса выберите в списке макрос, который вы хотите запустить.

  3. Нажмите кнопку Запустить.

Чтобы сделать макрос в одном документе доступным во всех новых документах, добавьте его в шаблон Normal.dotm.

  1. Откройте документ, в котором содержится макрос.

  2. В меню Вид последовательно выберите пункты Макросы и Просмотр макросов.

  3. Нажмите кнопку Организатор.

  4. Щелкните макрос, который вы хотите добавить в шаблон Normal.dotm, а затем нажмите кнопку Копировать.

  1. В меню Файл последовательно выберите пункты Параметры и Настроить ленту.

  2. В пункте Выбрать команды из выберите пункт Макросы.

  3. Выберите нужный макрос.

  4. В пункте Настройка ленты выберите вкладку и настраиваемую группу, в которую вы хотите добавить макрос.

Если у вас нет настраиваемой группы, то нажмите кнопку Новая группа. Затем нажмите кнопку Переименовать и введите имя настраиваемой группы.

  1. Нажмите кнопку Добавить.

  2. Чтобы изменить изображение для макроса и ввести нужное имя, нажмите кнопку

    Переименовать.

  3. Дважды нажмите кнопку OK.

  1. На вкладке Разработчик в группе Код нажмите кнопку Макросы.

  2. В поле Имя макроса введите имя нового макроса.

    Примечание: Если новому макросу присвоить то же самое имя, что и макросу, встроенному в Word, новые макрокоманды будут выполняться вместо встроенных. Чтобы просмотреть список встроенных макросов, выберите пункт Команды Word

    в списке Макросы из.

  3. В списке Макросы из щелкните шаблон или документ, в котором нужно сохранить макрос.

    Чтобы макрос был доступен во всех документах, выберите Normal.dotm.

  4. Нажмите кнопку Создать, чтобы вызвать редактор Visual Basic.

После запуска редактора Visual Basic могут потребоваться дополнительные сведения о работе с языком Visual Basic для приложений. Для получения сведений выберите в меню Help (Справка) пункт Microsoft Visual Basic Help (Справка по Microsoft Visual Basic) или нажмите клавишу F1.

Вы можете записать последовательность действий или создать макрос с нуля, введя код на языке Visual Basic для приложений в редактор Visual Basic.

Примечание: Чтобы работать с макросами в приложении Office Word 2007, необходимо отобразить вкладку Разработчик.

  1. Нажмите кнопку Microsoft Office , а затем — Параметры Word.

  2. Выберите категорию Основные.

  3. В группе Основные параметры работы с Word установите флажок Показывать вкладку «Разработчик» на ленте.

    Примечание: Лента входит в Пользовательский интерфейс Microsoft Office Fluent.

  1. На вкладке Разработчик в группе Код нажмите кнопку Запись макроса.

  2. В поле Имя макроса введите имя нового макроса.

    Примечание: Если новому макросу присвоить то же самое имя, что и макросу, встроенному в Office Word 2007, новые макрокоманды будут выполняться вместо встроенных. Чтобы просмотреть список встроенных макросов, на вкладке Разработчик в группе Код нажмите кнопку Макросы. В списке Макросы из выберите вариант Команды Word.

  3. В списке Макрос доступен для щелкните шаблон или документ, в котором нужно сохранить макрос.

    Важно: Чтобы макрос был доступен во всех документах, выберите Normal.dotm.

  4. Введите описание макроса в поле Описание.

  5. Выполните одно из указанных ниже действий.

    • Начните запись.    Чтобы начать запись макроса, не связывая его с кнопкой на панели быстрого доступа или сочетанием клавиш, нажмите кнопку ОК.

    • Создайте кнопку.     Чтобы связать макрос с кнопкой на панели быстрого доступа, сделайте следующее:

      1. Щелкните кнопке.

      2. В группе Настройка панели быстрого доступа выберите документ или все документы, для которых требуется добавить макрос на панель быстрого доступа.

        Важно: Чтобы макрос был доступен во всех документах, выберите Normal.dotm.

      3. В диалоговом окне Выбрать команды из выберите макрос, который требуется записать, и нажмите кнопку Добавить.

      4. Чтобы настроить кнопку, нажмите кнопку Изменить.

      5. В поле Символ выберите нужный символ для кнопки.

      6. В поле Отображаемое имя введите имя макроса, которое должно отображаться.

      7. Чтобы начать запись макроса, нажмите кнопку ОК два раза.

        На панели быстрого доступа будет показан выбранный символ. Заданное имя отображается при наведении указателя на символ.

    • Назначьте сочетание клавиш.    Чтобы назначить макросу сочетание клавиш, сделайте следующее:

      1. Выберите пункт Клавиатура.

      2. В списке Команды выберите макрос, который требуется записать.

      3. В поле Новое сочетание клавиш введите любую последовательность клавиш и нажмите кнопку Назначить.

      4. Чтобы начать запись макроса, нажмите кнопку Закрыть.

  6. Выполните действия, которые следует включить в макрос.

    Примечание: При записи макроса вы можете с помощью мыши щелкать команды и параметры, но не выделять текст. Для выделения текста необходимо использовать клавиатуру. Дополнительные сведения о выделении текста с помощью клавиатуры см. в статье Выделение текста.

  7. Чтобы остановить запись макрокоманд, выберите команду Остановить запись в группе Код.

Изменение сочетания клавиш для макроса

  1. Нажмите кнопку Microsoft Office , а затем — Параметры Word.

  2. Выберите команду Настройка .

  3. Рядом с полем Сочетания клавиш нажмите Настройка.

  4. В списке Категории выберите пункт Макросы.

  5. В списке Макросы выберите макрос, который нужно изменить.

  6. Щелкните поле Новое сочетание клавиш и нажмите клавиши, которые следует назначить.

  7. В поле Текущие сочетания проверьте, не используется ли назначаемое сочетание для выполнения другой задачи.

  8. В списке Сохранить изменения в выберите вариант, который соответствует месту, в котором должен запускаться макрос.

    Важно: Чтобы макрос был доступен во всех документах, выберите Normal.dotm.

  9. Нажмите кнопку Закрыть.

  1. На вкладке Разработчик в группе Код выберите пункт Макросы.

  2. В списке Имя макроса выберите макрос, который необходимо запустить.

  3. Нажмите кнопку Выполнить.

  1. На вкладке Разработчик в группе Код нажмите кнопку Макросы.

  2. В поле Имя макроса введите имя нового макроса.

    Примечание: Если новому макросу присвоить то же самое имя, что и макросу, встроенному в Office Word 2007, новые макрокоманды будут выполняться вместо встроенных. Чтобы просмотреть список встроенных макросов, выберите пункт Команды Word в списке Макросы из.

  3. В списке Макросы из щелкните шаблон или документ, в котором нужно сохранить макрос.

    Чтобы макрос был доступен во всех документах, выберите Normal.dotm.

  4. Нажмите кнопку Создать, чтобы вызвать редактор Visual Basic.

После запуска редактора Visual Basic могут потребоваться дополнительные сведения о работе с языком Visual Basic для приложений. Для получения сведений выберите в меню Help (Справка) пункт Microsoft Visual Basic Help (Справка по Microsoft Visual Basic) или нажмите клавишу F1.

Чтобы быстро выполнять часто повторяющиеся задачи, в классической версии Word вы можете объединить шаги в макросы, а затем запускать их одним щелчком мыши. В Word в Интернете такие задачи придется выполнять вручную.

Если у вас есть Word, нажмите кнопку Открыть в Word, чтобы открыть документ в Word.

Затем следуйте инструкциям для классических версий Word.

Если вы запустите макрос в Word и сохраните документ, вы увидите результаты работы макроса при повторном открытии документа в Word в Интернете.

Создание макросов в Word с помощью средства чтения с экрана

Используйте Word клавиатурой и экранным устройством для автоматизации часто используемых задач путем создания и запуска макроса. Мы проверили эту функцию с использованием экранного диктора, JAWS и NVDA, но она может работать и с другими средствами чтения с экрана, если они соответствуют общепринятым стандартам и методам для специальных возможностей. Например, вы узнаете, как создать макрос, который вставляет наконечную букву с вашим именем и адресом.

В этом разделе

Создание макроса

Чтобы создать макрос, запишите последовательность действий, используемых для выполнения задачи, которую вы хотите автоматизировать.

  1. Чтобы открыть диалоговое окно «Запись макроса», нажмите ALT+W, M, R.

  2. Введите имя макроса и нажмите клавишу ВВОД. Имя не может содержать пробелы.

  3. Запишите макрос путем выполнения команд или нажатием нужных клавиш для каждого действия. Word записывает нажатия клавиш.

  4. Чтобы приостановить запись, нажмите клавиши ALT+W, M, P.

  5. Чтобы возобновить запись, нажмите клавиши ALT+W, M, R, R.

  6. Чтобы остановить запись, нажмите клавиши ALT+W, M, R.

Запуск макроса

Чтобы запустить макрос, выберите его в диалоговом окну «Макрос».

  1. Чтобы открыть диалоговое окно «Макрос», нажмите ALT+W, M, V.

  2. Нажимите клавишу СТРЕЛКА ВНИЗ, пока не прозвучит нужный макрос, а затем нажмите клавишу ВВОД, чтобы выбрать его. Word автоматически выполняет действия, записанные в макросе.

Дополнительные сведения

Вставка и изменение текста в Word с помощью средства чтения с экрана

Сочетания клавиш в Word

Выполнение основных задач в Word с помощью средства чтения с экрана

Настройка устройства для поддержки специальных возможностей в Microsoft 365

Знакомство с Word и навигация с помощью средства чтения с экрана

Пишем макросы для Microsoft Word с GUI like a PRO [Часть 2, финал]

Да, это макрос для MS Word!

Продолжаем тему макросов в Microsoft Word. Будем доделывать пользовательский интерфейс для нашего макроса замены двух и более последовательных переводов строки на единственный. Зачем вообще может понадобиться какой-то интерфейс для макроса? Ну, например, мы хотим удалить лишние переводы строки на всех страницах документа, кроме каких-то конкретных. Интерфейс позволил бы указать номера страниц документа, которые нужно при обработке пропустить (либо наоборот, обработать только указанные страницы). Вот этот функционал и будем реализовывать.

Открываем уже знакомое окно VBA, нажав «Visual Basic» на вкладке «Разработчик». Добавим к нашим макросам новую форму, кликнув правой кнопкой по «Normal» и выбрав «Insert» -> «UserForm»:

Будет отображена новая форма с именем UserForm1. Переименовать её, как и поменять другие свойства формы, можно на вкладке «Properties»:

Я назову форму DocumentFixer. Накидаем на форму элементов управления. Добавим рамочку, где будут настройки и чекбокс активации нашего макроса. При клике по форме появится Toolbox, из которого можно выбрать контролы для размещения на форме:

После помещения на форму некоторого количества контролов она выглядит так:

Просмотреть форму в её рабочем виде можно, кликнув на ней в редакторе и нажав F5 или кнопку «Run» в интерфейсе редактора VBA, которой можно также запускать макросы для отладки. На форму я добавил:

  • Рамку (Frame) «Line breaks», где находятся все настройки для нашего макроса.
  • Чекбокс «Remove excessive line breaks», который будет включать или отключать выполнение нашего макроса. Назвал я этот элемент RemoveExcessiveLineBreaks.
  • Две радио-кнопки «Include pages» (с именем ExcessiveLineBreaksIncludePages) и «Exclude pages» (с именем ExcessiveLineBreaksExcludePages), которые позволяют указать, какие страницы следует обработать или исключить из обработки, соответственно. Радио-кнопки должны иметь одинаковое значение свойства GroupName, чтобы быть связанными. Я задал значение этого свойства ExcessiveLineBreaksPageOption.
  • Текстовое поле (с именем ExcessiveLineBreaksPageNumbers) с лейблом «Comma-separated page numbers», куда можно будет ввести номера страниц через запятую.
  • Кнопку «Run» с именем RunMacros, которая будет запускать выбранные макросы (у нас пока только один).

Да, это, конечно, не гибкий HTML и не WPF, но реализовать какой-никакой графический интерфейс вполне реально. Кликнем дважды на кнопке «Run» в редакторе, и это приведёт к автоматической генерации кода для обработчика события нажатия по кнопке. У меня он выглядит так:

Private Sub RunMacros_Click() End Sub

Private Sub RunMacros_Click()

 

End Sub

Пока что оставим этот обработчик в покое и под ним сделаем функцию, которая будет парсить введённые через запятую номера страниц.

Private Function ParsePageNumbers() Dim pageNumbersCollection As New Collection Dim pageNumbers() As String pageNumbers() = Split(Me.ExcessiveLineBreaksPageNumbers.Text, «,») On Error Resume Next Dim i As Integer For i = 0 To UBound(pageNumbers) pageNumbersCollection.Add True, Trim$(pageNumbers(i)) Next Set ParsePageNumbers = pageNumbersCollection End Function

Private Function ParsePageNumbers()

    Dim pageNumbersCollection As New Collection

    Dim pageNumbers() As String

    pageNumbers() = Split(Me.ExcessiveLineBreaksPageNumbers.Text, «,»)

    On Error Resume Next

    Dim i As Integer

    For i = 0 To UBound(pageNumbers)

        pageNumbersCollection.Add True, Trim$(pageNumbers(i))

    Next

    Set ParsePageNumbers = pageNumbersCollection

End Function

В функции мы создаём новую коллекцию pageNumbersCollection (по сути, индексированный ассоциативный массив), а также массив pageNumbers. В строке 4 мы в этот массив помещаем разбитые номера страниц, которые указал пользователь макроса в поле ввода ExcessiveLineBreaksPageNumbers (обратите внимание на префикс Me — мы обращаемся к текущей форме). Затем мы в строке 5 игнорируем ошибки. Далее в цикле добавляем все номера страниц в коллекцию pageNumbersCollection. Если будут встречаться дублирующиеся номера страниц, то ошибка возникать не будет — мы их игнорируем. Обратите внимание, что при возврате из функции или присваивании переменной любого объекта, созданного через New, в Visual Basic нужно использовать ключевое слово Set.

Теперь вернёмся к обработчику RunMacros_Click и напишем код, который будет вызывать наш макрос с нужными параметрами. Я напишу комментарии прямо в код, так как он достаточно длинный:

Private Sub RunMacros_Click() ‘ При любой ошибке переходим к метке ErrorHandler On Error GoTo ErrorHandler Dim pageNumbers As Collection ‘ Если чекбокс RemoveExcessiveLineBreaks установлен, ‘ парсим введённые номера страниц If Me. RemoveExcessiveLineBreaks.value = True Then Set pageNumbers = ParsePageNumbers() End If ‘ Скрываем нашу форму Me.Hide ‘ Активируем текущий документ ActiveDocument.Activate ‘ Если чекбокс RemoveExcessiveLineBreaks установлен… If Me.RemoveExcessiveLineBreaks.value = True Then ‘ …выполняем функцию RemoveExcessiveEntersImpl ‘ Её мы напишем позже. В эту функцию передаём ‘ номера страниц, а также значение ‘ радио-кнопки ExcessiveLineBreaksIncludePages RemoveExcessiveEntersImpl pageNumbers, _ Me.ExcessiveLineBreaksIncludePages.value ‘ Коллекция с номерами страниц больше не нужна Set pageNumbers = Nothing End If ‘ Всё окей, переходим к метке Finish GoTo Finish ErrorHandler: ‘ Если ошибка — покажем сообщение с её текстом MsgBox Err. Description, vbError, «Error» Finish: MsgBox «Done!», vbInformation, «Ready» End Sub

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

Private Sub RunMacros_Click()

    ‘ При любой ошибке переходим к метке ErrorHandler

    On Error GoTo ErrorHandler

    

    Dim pageNumbers As Collection

    ‘ Если чекбокс RemoveExcessiveLineBreaks установлен,

    ‘ парсим введённые номера страниц

    If Me.RemoveExcessiveLineBreaks.value = True Then

        Set pageNumbers = ParsePageNumbers()

    End If

    

    ‘ Скрываем нашу форму

    Me. Hide

    ‘ Активируем текущий документ

    ActiveDocument.Activate

    

    ‘ Если чекбокс RemoveExcessiveLineBreaks установлен…

    If Me.RemoveExcessiveLineBreaks.value = True Then

        ‘ …выполняем функцию RemoveExcessiveEntersImpl

        ‘ Её мы напишем позже. В эту функцию передаём

        ‘ номера страниц, а также значение

        ‘ радио-кнопки ExcessiveLineBreaksIncludePages

        RemoveExcessiveEntersImpl pageNumbers, _

                Me.ExcessiveLineBreaksIncludePages.value

        ‘ Коллекция с номерами страниц больше не нужна

        Set pageNumbers = Nothing

    End If

    

    ‘ Всё окей, переходим к метке Finish

    GoTo Finish

    

ErrorHandler:

    ‘ Если ошибка — покажем сообщение с её текстом

    MsgBox Err.Description, vbError, «Error»

 

Finish:

    MsgBox «Done!», vbInformation, «Ready»

End Sub

Остаётся реализовать функцию RemoveExcessiveLineBreaksImpl, которая будет принимать два параметра: коллекцию с номерами страниц, которые нужно либо пропустить, либо наоборот обработать только их. Второй параметр (значение радио-кнопки ExcessiveLineBreaksIncludePages) как раз и будет говорить о том, что нужно сделать с этими номерами (True — включить в обработку только их, False — исключить их из обработки). Пользователь сможет также не указывать никакие номера страниц, в этом случае коллекция будет пустой, и мы будем игнорировать настройку.

Перейдём в файл модуля AllMacros, кликнув по его имени два раза. Его я реализовывал в прошлой статье. Напишем несколько вспомогательных приватных функций. Нам потребуется определять, есть ли ключ в коллекции, чтобы узнать, есть ли текущая страница в списке страниц, заданном пользователем:

Private Function HasKey(coll As Collection, key As String) As Boolean On Error Resume Next coll (key) HasKey = (Err.Number = 0) Err.Clear End Function

Private Function HasKey(coll As Collection, key As String) As Boolean

    On Error Resume Next

    coll (key)

    HasKey = (Err. Number = 0)

    Err.Clear

End Function

Коллекции в Visual Basic весьма урезанные: ключи могут быть только строками, поэтому я и не преобразовывал номера страниц в числа, и функция HasKey тоже принимает значение key типа String. В этой функции мы пытаемся запросить из коллекции заданный ключ (строка 3). Если что-то пошло не так, мы получим ошибку, которую обработаем обработчиком из строки 2. Если номер ошибки не нулевой (т.е. ошибка произошла), значит, ключ в коллекции отсутствует. Вернём это значение из функции HasKey и очистим за собой ошибку.

Теперь напишем вспомогательную функцию, которая позволит определить, следует ли на текущей странице выполнять удаление излишних переводов строк:

Private Function NeedToProcessCurrentPage(pageNumbers As Collection, _ includePageNumbers As Boolean) As Boolean ‘ Если коллекция не передана, обрабатываем ‘ все страницы If pageNumbers Is Nothing Then NeedToProcessCurrentPage = True Exit Function End If ‘ Если не передано ни одного номера страницы, ‘ значит всегда обрабатываем всё If pageNumbers. Count = 0 Then NeedToProcessCurrentPage = True Exit Function End If ‘ Определим, есть ли текущий номер страницы ‘ в переданной коллекции. Номер берём из ‘ текущего выделения и преобразуем в строку Dim hasPageInCollection As Boolean hasPageInCollection = HasKey(pageNumbers, _ CStr(Selection.Range.Information(wdActiveEndPageNumber))) ‘ Если includePageNumbers = True, то обрабатываем страницу, ‘ только если её номер есть в коллекции. А иначе ‘ обрабатываем её, только если в коллекции её номер ‘ отсутствует If includePageNumbers = True Then NeedToProcessCurrentPage = hasPageInCollection Else NeedToProcessCurrentPage = Not hasPageInCollection End If End Function

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

Private Function NeedToProcessCurrentPage(pageNumbers As Collection, _

    includePageNumbers As Boolean) As Boolean

    ‘ Если коллекция не передана, обрабатываем

    ‘ все страницы

    If pageNumbers Is Nothing Then

        NeedToProcessCurrentPage = True

        Exit Function

    End If

    

    ‘ Если не передано ни одного номера страницы,

    ‘ значит всегда обрабатываем всё

    If pageNumbers. Count = 0 Then

        NeedToProcessCurrentPage = True

        Exit Function

    End If

    

    ‘ Определим, есть ли текущий номер страницы

    ‘ в переданной коллекции. Номер берём из

    ‘ текущего выделения и преобразуем в строку

    Dim hasPageInCollection As Boolean

    hasPageInCollection = HasKey(pageNumbers, _

        CStr(Selection.Range.Information(wdActiveEndPageNumber)))

    

    ‘ Если includePageNumbers = True, то обрабатываем страницу,

    ‘ только если её номер есть в коллекции. А иначе

    ‘ обрабатываем её, только если в коллекции её номер

    ‘ отсутствует

    If includePageNumbers = True Then

        NeedToProcessCurrentPage = hasPageInCollection

    Else

        NeedToProcessCurrentPage = Not hasPageInCollection

    End If

End Function

Наконец, основная функция, которая выполнит нужную работу по заменам:

Sub RemoveExcessiveLineBreaksImpl(pageNumbers As Collection, _ includePageNumbers As Boolean) Dim lineBreakSearchRegExp As String lineBreakSearchRegExp = GetLineBreakSearchRegExp() Selection. HomeKey Unit:=wdStory While FindNextText(lineBreakSearchRegExp, True) = True If NeedToProcessCurrentPage(pageNumbers, includePageNumbers) Then RemoveNextEnters End If Wend ClearFindAndReplaceParameters End Sub

Sub RemoveExcessiveLineBreaksImpl(pageNumbers As Collection, _

    includePageNumbers As Boolean)

    Dim lineBreakSearchRegExp As String

    lineBreakSearchRegExp = GetLineBreakSearchRegExp()

    

    Selection.HomeKey Unit:=wdStory

    While FindNextText(lineBreakSearchRegExp, True) = True

        If NeedToProcessCurrentPage(pageNumbers, includePageNumbers) Then

            RemoveNextEnters

        End If

    Wend

    ClearFindAndReplaceParameters

End Sub

Обратите внимание, что эта функция не приватная (публичная, по умолчанию), так как она должна быть доступна из нашей формы. В списке макросов Word эта функция не появится, так как она принимает аргументы, а в списке появляются только те функции, которые не имеют ни одного аргумента. Функция практически полностью идентична макросу RemoveExcessiveEnters из первой части статьи за исключением того, что она принимает пару аргументов и перед вызовом RemoveNextEnters выполняет проверку, нужно ли производить замену, вызывая NeedToProcessCurrentPage. Чтобы избежать дублирования кода, подправим наш старый макрос RemoveExcessiveEnters, чтобы он тоже вызывал эту функцию:

Sub RemoveExcessiveEnters() RemoveExcessiveLineBreaksImpl Nothing, False End Sub

Sub RemoveExcessiveEnters()

    RemoveExcessiveLineBreaksImpl Nothing, False

End Sub

Так мы сохранили и старый макрос, и избежали дублирования кода: этот макрос теперь вызовет новую функцию с параметрами замены лишних переводов строк на всех страницах (это он и делал раньше). Последнее, что нам требуется, это функция, которая будет отображаться в списке макросов Word и открывать нашу форму. Здесь всё совсем просто:

Sub FixDocument() DocumentFixer.Show End Sub

Sub FixDocument()

    DocumentFixer.Show

End Sub

Теперь макрос можно проверять! Нажимаем «Разработчик» -> «Макросы» и выбираем в списке макросов «FixDocument». Откроется наша форма, в которой можно задать параметры и нажать «Run», что приведёт к выполнению макроса!

Есть несколько улучшений, которые было бы неплохо добавить. Во-первых, при выполнении макроса на большом документе экран Word будет постоянно обновляться, что приведёт к торможению Word’а и неприятным визуальным эффектам. Кроме того, нет возможности отследить прогресс выполнения. Давайте всё это доработаем. Начнём с опций запрета обновления документа во время выполнения макросов. На форму я добавлю чекбокс с именем DisableScreenUpdates, а в код обработчика клика по кноке «Run» следующую строку:

… Me.Hide ‘ Новая строка между двумя старыми If Me.DisableScreenUpdates.value = True Then Application.ScreenUpdating = False ActiveDocument.Activate …

    Me.Hide

    

    ‘ Новая строка между двумя старыми

    If Me.DisableScreenUpdates.value = True Then Application.ScreenUpdating = False

    

    ActiveDocument.Activate

Теперь экран Word в процессе выполнения макросов обновляться не будет. Отлично, теперь перейдём к отображению прогресса операции. Также, сделаем возможность отменить операцию. Вдруг мы запустили наши макросы на огромном документе, указав какие-то некорректные настройки. В этом случае идеальным было бы отменить выполнение, поправить настройки, и запустить макросы заново. Добавим новую форму и назовём ее MacroProgressForm. Накидаем на неё несколько контролов: лейбл, который будет отображать текущую операцию (StepName), полосу прогресса текущей операции (ProgressBarLabel), лейбл, отображающий прогресс в текстовом виде (StepProgress), и кнопку отмены (CancelMacro). У меня форма выглядит так:

Полосу прогресса я сделал из двух лейблов (один — прогресс расположен над другим — рамка), поменяв им стили и цвета. Переходим к коду формы. Можно кликнуть в редакторе на форме правой кнопкой мыши и выбрать «View code». Создадим три переменные, приватные и доступные только форме. Первая будет содержать максимальное значение прогресса выполнения текущей операции, вторая — текущий прогресс, а третья — флаг, отменил ли пользователь операцию:

Private maxProgress As Integer Private currentProgress As Integer Private progressCancelled As Boolean

Private maxProgress As Integer

Private currentProgress As Integer

Private progressCancelled As Boolean

Далее сделаем обработчик нажатия кнопки отмены:

Private Sub CancelMacro_Click() If MsgBox(«Do you want to cancel your fixing operations?», _ vbQuestion Or vbYesNo, «Cancel?») = vbYes Then progressCancelled = True End If End Sub

Private Sub CancelMacro_Click()

    If MsgBox(«Do you want to cancel your fixing operations?», _

        vbQuestion Or vbYesNo, «Cancel?») = vbYes Then

        progressCancelled = True

    End If

End Sub

Тут мы спрашиваем, действительно ли требуется отменить все макросы, и если пользователь соглашается, присваиваем переменной progressCancelled значение True. Далее напишем ряд функций, которые будут управлять прогрессом выполнения. Наша форма может запускать несколько макросов подряд (хотя мы пока реализовали только один). Предусмотрим это, и напишем функции, которыми смогут пользоваться макросы:

‘ Увеличивает прогресс на единицу ‘ Возвращает False, если операция была отменена Public Function IncreaseProgress() As Boolean IncreaseProgress = IncreaseProgressImpl(currentProgress + 1) End Function ‘ Устанавливает текущее значение ‘ прогресса, равное номеру текущей страницы. ‘ Возвращает False, если операция была отменена Public Function SetSelectionPageNumber() As Boolean SetSelectionPageNumber = IncreaseProgressImpl( _ Selection.Information(wdActiveEndPageNumber)) End Function ‘ Устанавливает новое значение прогресса, ‘ переданное в функцию. ‘ Возвращает False, если операция была отменена Private Function IncreaseProgressImpl(newProgress As Integer) As Boolean currentProgress = newProgress If currentProgress > maxProgress Then currentProgress = maxProgress ‘ Меняем ширину лейбла-прогрессбара Me. ProgressBarLabel.Width = _ (currentProgress / maxProgress) * (Me.ProgressBarBackLabel.Width — 4) ‘ Обновляем текстовое значение прогресса RefreshProgressText ‘ Возвращаем False, если операция была отменена ‘ нажатием кнопки отмены IncreaseProgressImpl = Not progressCancelled End Function ‘ Устанавливает максимально допустимое значение ‘ прогресса. ‘ Возвращает False, если операция была отменена Public Function SetMaxProgress(value As Integer) maxProgress = value currentProgress = 0 Me.ProgressBarLabel.Width = 0 Me.ProgressBarBackLabel.Visible = True Me.ProgressBarLabel.Visible = True RefreshProgressText SetMaxProgress = Not progressCancelled End Function ‘ Устанавливает максимально допустимое значение ‘ прогресса исходя из общего количества ‘ страниц в документе. ‘ Возвращает False, если операция была отменена Public Function SetMaxProgressByPageCount() SetMaxProgressByPageCount = SetMaxProgress( _ ActiveDocument. ComputeStatistics(wdStatisticPages)) End Function ‘ Проверяет, была ли отменена операция, и возвращает ‘ True, если была. Public Function CheckCancel() ‘ Обрабатываем накопившиеся оконные ‘ события Windows, ‘ чтобы наша форма не зависала DoEvents CheckCancel = progressCancelled End Function ‘ Устанавливает название текущей операции Public Sub SetStep(name As String) Me.StepName.Caption = name & «…» Me.StepProgress.Caption = «» Me.ProgressBarBackLabel.Visible = False Me.ProgressBarLabel.Visible = False DoEvents End Sub ‘ Обновляет текстовое значение прогресса ‘ и обрабатывает накопившиеся ‘ оконные события Windows Private Sub RefreshProgressText() Me.StepProgress.Caption = currentProgress & «/» & maxProgress DoEvents End Sub

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

‘ Увеличивает прогресс на единицу

‘ Возвращает False, если операция была отменена

Public Function IncreaseProgress() As Boolean

    IncreaseProgress = IncreaseProgressImpl(currentProgress + 1)

End Function

 

‘ Устанавливает текущее значение

‘ прогресса, равное номеру текущей страницы.

‘ Возвращает False, если операция была отменена

Public Function SetSelectionPageNumber() As Boolean

    SetSelectionPageNumber = IncreaseProgressImpl( _

        Selection.Information(wdActiveEndPageNumber))

End Function

 

‘ Устанавливает новое значение прогресса,

‘ переданное в функцию.

‘ Возвращает False, если операция была отменена

Private Function IncreaseProgressImpl(newProgress As Integer) As Boolean

    currentProgress = newProgress

    If currentProgress > maxProgress Then currentProgress = maxProgress

    ‘ Меняем ширину лейбла-прогрессбара

    Me.ProgressBarLabel.Width = _

        (currentProgress / maxProgress) * (Me.ProgressBarBackLabel.Width — 4)

    ‘ Обновляем текстовое значение прогресса

    RefreshProgressText

    ‘ Возвращаем False, если операция была отменена

    ‘ нажатием кнопки отмены

    IncreaseProgressImpl = Not progressCancelled

End Function

 

‘ Устанавливает максимально допустимое значение

‘ прогресса.

‘ Возвращает False, если операция была отменена

Public Function SetMaxProgress(value As Integer)

    maxProgress = value

    currentProgress = 0

    Me.ProgressBarLabel.Width = 0

    Me.ProgressBarBackLabel.Visible = True

    Me.ProgressBarLabel.Visible = True

    RefreshProgressText

    SetMaxProgress = Not progressCancelled

End Function

 

‘ Устанавливает максимально допустимое значение

‘ прогресса исходя из общего количества

‘ страниц в документе.

‘ Возвращает False, если операция была отменена

Public Function SetMaxProgressByPageCount()

    SetMaxProgressByPageCount = SetMaxProgress( _

        ActiveDocument.ComputeStatistics(wdStatisticPages))

End Function

 

‘ Проверяет, была ли отменена операция, и возвращает

‘ True, если была.

Public Function CheckCancel()

    ‘ Обрабатываем накопившиеся оконные

    ‘ события Windows,

    ‘ чтобы наша форма не зависала

    DoEvents

    CheckCancel = progressCancelled

End Function

 

‘ Устанавливает название текущей операции

Public Sub SetStep(name As String)

    Me. StepName.Caption = name & «…»

    Me.StepProgress.Caption = «»

    Me.ProgressBarBackLabel.Visible = False

    Me.ProgressBarLabel.Visible = False

    DoEvents

End Sub

 

‘ Обновляет текстовое значение прогресса

‘ и обрабатывает накопившиеся

‘ оконные события Windows

Private Sub RefreshProgressText()

    Me.StepProgress.Caption = currentProgress & «/» & maxProgress

    DoEvents

End Sub

Флоу будет следующим:

  1. Макрос получает на вход инстанс формы прогресса, у которой он сможет вызывать публичные функции.
  2. Макрос вызывает SetStep, передавая туда описание того, что он делает. Форма прогресса отобразит это описание и скроет полосу и лейбл прогресса (пока что прогресс неизвестен).
  3. Макрос вызывает SetMaxProgres, указывая максимальное значение прогресса выполнения операции. Как вариант, макрос сможет вызвать SetMaxProgressByPageCount, тогда это значение установится равным общему количеству страниц в документе. Наш макрос удаления лишних переводов строки так и будет делать. Он заранее не знает, сколько существует мест в документе, где есть последовательные переводы строк. Этот вызов приведёт к отображению полосы и лейбла прогресса, так как теперь форма знает его максимальное значение.
  4. Макрос вызывает IncreaseProgress или SetSelectionPageNumber для того, чтобы увеличить прогресс выполнения операции. Форма автоматически обновится и всё отрисует.
  5. Макрос может либо проверять возвращаемые значения из перечисленных выше функций, либо вызывать регулярно CheckCancel, чтобы определить, не была ли операция отменена.

Нам нужна ещё одна последняя функция:

Public Sub ResetCancelState() progressCancelled = False End Sub

Public Sub ResetCancelState()

    progressCancelled = False

End Sub

Она сбрасывает флаг отмены выполнения, и вызывать эту функцию будет наша первая форма перед началом выполнения всех включённых макросов.

Теперь доработаем нашу функциюRemoveExcessiveLineBreaksImpl, чтобы она могла работать с формой прогресса и отмены. Добавим в эту функцию соответствующий аргумент и будем с ним взаимодействовать. Я напишу весь код полностью и помечу доработки комментариями:

‘ Новый аргумент progressForm Sub RemoveExcessiveLineBreaksImpl(pageNumbers As Collection, _ includePageNumbers As Boolean, progressForm As MacroProgressForm) ‘ Если progressForm передана, то устанавливаем название ‘ текущей операции и максимальное значение прогресса ‘ исходя из общего количества страниц в документе. ‘ Если SetMaxProgressByPageCount вернула False, значит, ‘ операция уже была отменена, выходим. If Not progressForm Is Nothing Then progressForm.SetStep «Removing excessive line breaks» If progressForm.SetMaxProgressByPageCount() = False Then Exit Sub End If Dim lineBreakSearchRegExp As String lineBreakSearchRegExp = GetLineBreakSearchRegExp() Selection. HomeKey Unit:=wdStory While FindNextText(lineBreakSearchRegExp, True) = True If NeedToProcessCurrentPage(pageNumbers, includePageNumbers) Then RemoveNextEnters End If ‘ Если форма передана, то увеличиваем прогресс ‘ исходя из текущего номера страницы, где у нас ‘ находится курсор, а затем проверяем возвращаемое ‘ значение. Если вернулось False, то операцию ‘ отменили, выходим. If Not progressForm Is Nothing Then If progressForm.SetSelectionPageNumber() = False Then ClearFindAndReplaceParameters Exit Sub End If End If Wend ClearFindAndReplaceParameters End Sub

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

‘ Новый аргумент progressForm

Sub RemoveExcessiveLineBreaksImpl(pageNumbers As Collection, _

    includePageNumbers As Boolean, progressForm As MacroProgressForm)

    

    ‘ Если progressForm передана, то устанавливаем название

    ‘ текущей операции и максимальное значение прогресса

    ‘ исходя из общего количества страниц в документе.

    ‘ Если SetMaxProgressByPageCount вернула False, значит,

    ‘ операция уже была отменена, выходим.

    If Not progressForm Is Nothing Then

        progressForm.SetStep «Removing excessive line breaks»

        If progressForm.SetMaxProgressByPageCount() = False Then Exit Sub

    End If

    

    Dim lineBreakSearchRegExp As String

    lineBreakSearchRegExp = GetLineBreakSearchRegExp()

    

    Selection.HomeKey Unit:=wdStory

    While FindNextText(lineBreakSearchRegExp, True) = True

        If NeedToProcessCurrentPage(pageNumbers, includePageNumbers) Then

            RemoveNextEnters

        End If

        

        ‘ Если форма передана, то увеличиваем прогресс

        ‘ исходя из текущего номера страницы, где у нас

        ‘ находится курсор, а затем проверяем возвращаемое

        ‘ значение. Если вернулось False, то операцию

        ‘ отменили, выходим.

        If Not progressForm Is Nothing Then

            If progressForm. SetSelectionPageNumber() = False Then

                ClearFindAndReplaceParameters

                Exit Sub

            End If

        End If

    Wend

    ClearFindAndReplaceParameters

End Sub

Изменений не так и много, и вот уже наш макрос готов работать с новым интерфейсом. Не забудем также дописать старую функцию RemoveExcessiveEnters:

Sub RemoveExcessiveEnters() ‘ Добавился последний «Nothing» — в этом случае ‘ мы форму прогресса не передаём. RemoveExcessiveLineBreaksImpl Nothing, False, Nothing End Sub

Sub RemoveExcessiveEnters()

    ‘ Добавился последний «Nothing» — в этом случае

    ‘ мы форму прогресса не передаём.

    RemoveExcessiveLineBreaksImpl Nothing, False, Nothing

End Sub

Наконец, доработаем форму DocumentFixer, чтобы она в те макросы, которые вызывает, передавала подготовленную форму прогресса. Ну и отображала её заодно. Тут изменений совсем мало, нет смысла перепечатывать весь код. После строки ActiveDocument.Activate добавляем:

MacroProgressForm.Show MacroProgressForm.ResetCancelState

    MacroProgressForm.Show

    MacroProgressForm.ResetCancelState

При вызове макроса теперь передаём форму прогресса:

If Me.RemoveExcessiveLineBreaks.value = True Then RemoveExcessiveLineBreaksImpl pageNumbers, _ Me.ExcessiveLineBreaksIncludePages.value, _ MacroProgressForm Set pageNumbers = Nothing End If

    If Me.RemoveExcessiveLineBreaks.value = True Then

        RemoveExcessiveLineBreaksImpl pageNumbers, _

            Me. ExcessiveLineBreaksIncludePages.value, _

            MacroProgressForm

        Set pageNumbers = Nothing

    End If

В конце, сразу после метки Finish добавляем строку, чтобы скрыть форму прогресса:

MacroProgressForm.Hide

    MacroProgressForm.Hide

И это всё! Теперь наш модный макрос полностью поддерживает отображение прогресса выполнения операции, и мы имеем возможность отменить его выполнение в любой момент времени. При этом мы сохранили изначальную работоспособность старого макроса RemoveExcessiveEnters, который был написан еще в первой части статьи. Вот как выглядит форма отображения прогресса во время работы:

Числа 60/893 внизу — это номер страницы, на которой была осуществлена последняя замена, и общее число страниц в документе до начала выполнения макросов. А вот так выглядит запрос на отмену:

Можно ещё дальше совершенствовать нашу инфраструктуру макросов. На форму DocumentFixer можно добавить любое количество макросов с настройками, и все они смогут работать единообразно с формой отображения прогресса и отмены операции. Можно также, например, поработать с историей операций: сейчас Word логирует каждое мельчайшее действие, выполненное макросом, а можно сделать так, чтобы часть этих действий объединялась в именованные группы с осмысленными названиями, и в меню отмены не будет такой каши из большого количества непонятных операций.

Я же закончу заметку на уже достигнутом. Если кому-то потребуется улучшение из перечисленных выше, возможно, сделаю отдельную статью на этот счёт. В качестве бонусного хардкора на форму я добавил картинку, и скриншот этой формы есть в самом начале статьи. Также, при выключении чекбокса RemoveExcessiveLineBreaks будут заблокированы все контролы, имеющие отношение к нашему макросу (и разблокированы обратно при включении чекбокса). Кому интересно, сможет ознакомиться с тем, как это реализовано, скачав полные исходники макросов и форм и имортировав их к себе в Word.

Как сохранить макросы в Word 2016?

Рассмотрим способы сохранения макросов в текстовом редакторе Word для дальнейшего использования или отправки другим пользователям.

Со временем у активных пользователей популярного текстового редактора Microsoft Office Word может собраться много макросов, которые не хотелось бы потерять после обновления, переустановки системы или других проблем с оборудованием или программным обеспечением.

Макросами часто нужно поделиться с коллегами по работе, знакомыми и тому подобное.

Все примеры показаны на версии Microsoft Office Word 2016.

Первый способ – это запись макросов в документ, который можно затем отсылать и использовать как шаблон.

Для сохранения макросов в шаблон нужна панель инструментов «Разработчик», которая по умолчанию отключена, поэтому в процессе работы ее нужно будет включить.

Для этого:

Открываем редактор Microsoft Office Word и создаем новый документ.

Нажимаем на «Файл», тогда открываем «Параметры».

Далее открываем «Настроить ленту» и ставим флажок на «Разработчик». Подтверждаем кнопкой «Ок».

Теперь в нашей панели появится вкладка «Разработчик». Открываем ее и нажимаем на кнопку «Шаблон документа».

Находим там кнопку «Организатор» и нажимаем на нее.

Далее открываем вкладку «Макросы». С правой стороны видим список наших макросов. Их с помощью кнопки «Копировать» нужно перенести в левую сторону. После этого можно закрыть окно.

Обратите внимание, что под текстом «Макросы и документы:» должно быть название нашего документа.

Теперь осталось сохранить наш документ с расширением *. docm. Данное расширение и будет вмещать наши добавленные макросы.

Такой документ можно использовать как шаблон, открывая и работая с ним. Все макросы, содержащиеся в данном документе можно будет применять в процессе работы. 

При открытии документа с расширением *.docm, Word спросит разрешения на включение их содержимого. Чтобы можно было использовать макросы, нужно данное разрешение предоставить, нажав на кнопку «Включить содержимое».

Второй способ – сохранение файла модуля в окне визуального редактора Microsoft Visual Basic.

Открываем Microsoft Visual Basic с помощью сочетания клавиш Alt + F11 или открыв его с панели «Разработчик» (нужно нажать на кнопку Visual Basic).

В шаблоне Normal (обычно) находим папку Modules. Там можно видеть наши макросы.

Для удобства можно изменить имя. Для этого нужно выделить макрос (щелкнув на его имя левой клавишей мыши) и снизу в свойствах, напротив Name написать новое имя.

Дальше нужно экспортировать макросы. Для этого выделяем мышью макросы, идем в «File → Export File» и указываем место для сохранения файла.

Теперь данный файл можно импортировать на любой компьютер через команду «File → Import File», открыв Microsoft Visual Basic.

Пишем макрос в Word | Word | Статьи | Программирование Realcoding.Net

Начну с примера.

Мне, как человеку занимающемся иногда программированием, требуется распечатать исходный текст программы, да не просто, а красиво. Например, хочу выделить в тексте программы комментарии курсивом.

Для программы, занимающей несколько листов, вручную выделять все комментарии утомительно. Так давайте напишем макрос!

Итак, начнем: меню Сервис — Макрос — Начать запись.

Делаем доступным макрос для всех документов и приступаем к записи нажав кнопку ОК.

Производим переход в начало файла — жмем Cntrl + Home. Вызываем меню Найти и заменить, вводим текст для поиска «{» и жмем Найти. На первом найденном символе закрываем окно поиска. Далее, держа нажатой клавишу Shift, стрелками курсора выделяем текст комментария включая символ «}». После этого делаем начертание выделенного текста курсивом.

Останавливаем запись макроса.

Теперь идем в редактор Microsoft Visual Basic (Сервис — Макрос — Редактор Visual Basic). Находим наш макрос. Он имеет следующий вид:

Sub Макрос3()

‘ Макрос3 Макрос
‘ Макрос записан 14.10.2004

Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
With Selection.Find
    .Text = «{«
    .Replacement.Text = «»
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.MoveRight Unit:=wdCharacter, Count:=14, Extend:=wdExtend
Selection. Font.Italic = wdToggle
End Sub
 

Удалив лишнее получим следующий текст макроса:

Sub Макрос3()

‘ Макрос3 Макрос
‘ Макрос записан 14.10.2004

Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Text = «{«
Selection.Find.Execute
Selection.MoveRight Unit:=wdCharacter, Count:=14, Extend:=wdExtend
Selection.Font.Italic = wdToggle
End Sub

Теперь добавим цикл по символам для нахождения «}» и выделим необходимое число символов для форматирования в начертание курсивом:

Sub Макрос3()

‘ Макрос3 Макрос
‘ Макрос записан 14.10.2004

Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Text = «{«
Selection.Find.Execute
i = 0
While Selection.Text <> «}»
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    i = i + 1
Wend
Selection.MoveRight Unit:=wdCharacter, Count:=1
i = i + 1
Selection. MoveLeft Unit:=wdCharacter, Count:=i, Extend:=wdExtend
Selection.Font.Italic = True
Selection.MoveRight Unit:=wdCharacter, Count:=1
End Sub

Осталось добавить цикл по всему документу:

Sub Макрос3()

‘ Макрос3 Макрос
‘ Макрос записан 14.10.2004

Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Text = «{«
While Selection.Find.Execute=True
    i = 0
    While Selection.Text <> «}»
        Selection.MoveRight Unit:=wdCharacter, Count:=1
        i = i + 1
    Wend
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    i = i + 1
    Selection.MoveLeft Unit:=wdCharacter, Count:=i, Extend:=wdExtend
    Selection.Font.Italic = True
    Selection.MoveRight Unit:=wdCharacter, Count:=1
Wend
End Sub

На этом все. Макрос готов к работе.

Для комментариев, распространяющихся до конца строки (например «//» в начале строки), алгоритм действий аналогичен, приведу лишь текст макроса:

Sub Макрос4()

‘ Макрос4 Макрос
‘ Макрос записан 14. 10.2004

Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Text = «//»
While Selection.Find.Execute = True
    Selection.EndKey Unit:=wdLine, Extend:=wdExtend
    Selection.Font.Italic = True
    Selection.MoveRight Unit:=wdCharacter, Count:=1
Wend
End Sub

Источник: http://nech.tamb.ru/

Автозапуск макросов в Word и Excel

Офисные приложения Word и Excel имеют широкий функционал, который избыточен для рядового пользователя. Но, как всегда это бывает, нужной функции под рукой, в самый неподходящий момент, может не оказаться.

Как мы знаем, для таких случаев разработчик снабдил все приложения из пакета Microsoft Office встроенным языком программирования Visual Basic for Applications (VBA).

Весь программный код оформляется в виде процедур (макросов) или функций. И сейчас мы разберем, как автоматически запускать макросы при открытии текстового документа Word или рабочей книги Excel.

Видеоурок по данной теме «Автозапуск макросов в Word и Excel» вы можете найти на нашем Youtube-канале «Учите компьютер вместе с нами!»
Прежде всего, следует помнить, что обычные документы хранятся в файлах типа *.docx или *.xlsx и не предусматривают наличие макросов. Поэтому, первое, что нужно сделать, это включить такую поддержку. Для этого, во вкладке «Файл» выбираем пункт «Сохранить как» и в открывшемся окне «Сохранение документа«, в списке «Тип файла» выбираем «Документ Word с поддержкой макросов» или «Книга Excel с поддержкой макросов«, указываем требуемое имя файла и нажимаем кнопку «Сохранить«.

*Каждый рисунок можно увеличить щелчком левой кнопки мыши по нему

После указанных манипуляций, наши сохраненные файлы будут иметь расширения *.docm или *.xlsm. Вход в редактор VBA выполняется нажатием сочетания клавиш <ALT>+<F11>.

Дальнейшие действия, в зависимости от того, с каким файлом мы работаем, Word или Excel, будут отличаться. Поэтому, рассмотрим автозапуск макросов для каждого из этих приложений в отдельности.

1. Автозапуск макросов в Word. Здесь все предельно просто. Если вы хотите, чтобы макрос автоматически выполнялся при открытии документа, тогда вам нужно присвоить ему специальное имя «Autoopen«.

Находясь в редакторе VBA, выбираем пункт меню «Insert/Вставка«, «Module/Модуль«. Далее, в открывшемся окне модуля набираем программный код:

Public Sub Autoopen()

    …

End Sub

Начало макроса записывается командой Public Sub, конец — End Sub. Все что находится между ними — это команды VBA, которые будут автоматом выполняться при открытии данного документа, например:

Команда MsgBox («Hello, World!») выводит на экран текстовое сообщение «Hello, World!».

2. Автозапуск макросов в Excel. Как ни странно, но в Excel такой подход не срабатывает. Здесь «Autoopen» не является зарезервированным именем и такой макрос не будет выполняться автоматически при открытии книги.

Вместо этого, надо указать, что когда с объектом «Рабочая книга» случается событие «Открыть«, то нужно выполнить заданный набор команд.

Для этого, в редакторе VBA, в окне «Project» выполняем двойной щелчок левой кнопкой мыши на объекте «ЭтаКнига«. В открывшемся окне модуля, из верхнего левого списка выбираем объект «Workbook«, а из правого списка — событие «Open«, как показано на рисунке ниже.

В результате, текст макроса автоматически приобретает вид:

Private Sub Workbook_Open()

    …

End Sub

То есть, название макроса записывается в формате: Объект_Событие. Теперь, вместо многоточия прописываем требуемый программный код. В нашем случае, это команда MsgBox («Hello, World!»).

Результат его работы будет аналогичен предыдущему примеру: в момент открытия данной рабочей книги, на экран будет выводиться сообщение.

Как сообщалось на нашем сайте ранее, файлы Excel можно открыть в разных окнах.

Программы и макросы Excel в категории Документы Word

Программы и макросы для создания и заполнения документов Word данными из Excel, таблица из Excel в Word, обработка файлов Word, подстановка данных из Excel в Word, вставить таблицу Excel в Word

  • Надстройка FillDocuments для MS Excel: общие сведения Предназначение программы: заполнение множества документов данными из Excel нажатием одной кнопки. Для работы программы требуется таблица Excel с данными для подстановки, и папка с шаблоном (шаблонами) документов. В качестве шаблонов можно использовать файлы Word и Excel. На выходе получаются заполненные файлы исходного…

  • Надстройка Parser для Excel — простое и удобное решение для парсинга любых сайтов (интернет-магазинов, соцсетей, площадок объявлений) с выводом данных в таблицу Excel (формата XLS* или CSV), а также скачивания файлов. Особенность программы — очень гибкая настройка постобработки полученных данных (множество текстовых функций, всевозможные фильтры, перекодировки, работа с переменными,…

  • Макрос предназначен для программного создания документов Word на основе шаблона (без использования функции слияния в Word) В прикреплённом к статье архиве находятся 2 файла: шаблон договора в формате Microsoft Word (расширение .dot) файл Excel с макросом Настройки макроса задаются в коде: Const ИмяФайлаШаблона = «шаблон.dot» Const КоличествоОбрабатываемыхСтолбцов = 8…

  • Программа предназначена для автоматизации формирования договоров комиссии и купли автотранспортного средства. В качестве исходных данных выступают: таблица Excel с реквизитами создаваемых документов папка с шаблонами договоров (в формате dot) В исходной таблице Excel занесены все необходимые исходные данные для заполнения бланков договоров, а также, при помощи пользовательских формул (UDF),. ..

  • База данных «Преподаватели» предназначена для автоматизации работы администрации учебных заведений. Программа обеспечивает выполнение всех необходимых операций по приему документов, поиску и анализу информации, составлению отчетов. Эта база данных представляюет собой урезанную и немного изменённую версию программы АИСС СПК. Программа обеспечивает: Хранение полной…

  • Программа АИСС «СПК» предназначена для автоматизации работы приемной комиссии колледжей и техникумов. АИСС обеспечивает выполнение всех необходимых операций по приему документов, поиску и анализу информации, составлению отчетов. Назначением программы является автоматизация труда работника приёмной комиссии учебного заведения. Программа обеспечивает: Хранение полной…

  • Function PasteOLEobject(ByVal filename$, ByRef TopLeftCell As Range, _ Optional ByVal Width%, Optional ByVal Height%) As ShapeRange ‘ вставляет на лист объект OLE (из файла filename$) ‘ и размещает его в нужном месте, совмещая левый верхний угол с ячейкой TopLeftCell ‘ если указаны размеры Width% или Height% — они задаются вствляемому объекту On Error. ..

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

  • Программа предназначена для автоматизации рабочего места сотрудника, отвечающего за регистрацию, прием на работу, и увольнение иностранных граждан. В качестве исходных данных используется таблица изображенная на скриншоте. В этой таблице содержится нужная информация, необходимая для заполнения шаблонов документов. Программа заполняет следующие документы: Доверенность (doc) Заявление на…

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

  • Функция предназначена для вывода информации (статистики) по всем листам документа Word.   В качестве параметра, функция получает ссылку на открытый документ Word. Результат работы функции представлен на скриншоте. Код функции WordDocumentProperties: Function DocumentProperties(ByRef doc As Object) As Variant On Error Resume Next: Err.Clear ‘ формирует статистику по документу…

Макросы

Word и почему их следует использовать. Сравнение

Автоматизация сегодня в моде, и не без оснований. Мало того, что повторять одно и то же задание снова и снова утомительно, это еще и время, когда вам, вероятно, лучше заняться чем-то другим.
Сегодня мы говорим о функции в Microsoft Word, о которой большинство людей не знает: макросах, которые представляют собой правила, которые отображают определенное поведение и позволяют автоматически выполнять повторяющиеся задачи. Скорее всего, вы уже используете их, если нажмете Ctrl + S (или Cmd + S в MacOS), чтобы сохранить документы. Любое предопределенное сочетание клавиш является макросом.

Создайте свой первый макрос

Для начала вам не нужны знания программирования, чтобы создавать простые и эффективные макросы в Word. Мы приведем вам пример, в котором вы можете автоматически добавлять изображения в документы одним щелчком мыши.

Для начала просто выберите View-> Macros-> Record Macro .

Появится новое окно, в котором вы можете выбрать имя макроса, запускается ли он при нажатии кнопки или с помощью сочетания клавиш, и где он хранится.Если вы хотите, чтобы макрос был доступен во всех создаваемых вами документах, просто сохраните его в All Documents (Normal.dotm). Мы продолжим и назовем наш макрос «Тест», а также напишем что-нибудь простое в описании.

Теперь нажмите «Кнопка». Появится новое всплывающее окно.

Заметили, что автосохранение, сохранение, отмена и возврат находятся на правой панели? Как мы уже говорили выше, это предопределенные макросы,

и они присутствуют во всех документах.«Normal.NewMacros.Test» — это наш макрос: Normal.NewMacros — это его путь, за которым следует имя Test. Идите вперед и добавьте наш макрос в этот список, нажав «Добавить». Как только он появится, вы сможете

щелкните «Изменить», чтобы выбрать значок макроса, который будет отображаться на вашей панели. Поскольку мы добавляем изображение, мы выбрали значок изображения. Нажмите ОК, и вы вернетесь к своему документу.

Если вы выполнили эти шаги, Word будет записывать ваш макрос. Теперь нажмите Insert-> Pictures и перейдите в папку, где находится выбранное вами изображение.Макрос всегда будет искать изображение в этой папке, если вы примените его позже.

Вставьте изображение в документ, затем вернитесь к View-> Macros-> Stop Recording . Вот и все! Вы создали свой первый макрос в Microsoft Word. Чтобы использовать его снова, просто щелкните значок, который вы выбрали на панели ярлыков (в данном случае, изображение), и вуаля!

Если вы хотите назначить макрос для нажатия клавиши, вы также можете.Вместо того, чтобы нажимать «Кнопка» при появлении запроса, выберите «Нажатие клавиши» и выберите свою комбинацию — просто убедитесь, что это уже назначенное нажатие клавиши!

Кодирование макросов

Вы можете подумать: «О, но я могу просто вставить картинку вручную, это не так уж и много». Но представьте, что вы делаете это для каждого письма компании — гораздо проще записать макрос один раз и никогда больше не повторять эти шаги. Не только это, вы можете сделать больше — изменить размер изображения, изменить его форматирование и т. Д.пока вы записываете макрос, вы экономите время, необходимое для повторного выполнения всех этих простых действий.

Когда вы почувствуете себя комфортно при использовании основных макросов, вы можете начать экспериментировать с Visual Basic и кодом для более сложных задач. Сначала убедитесь, что вкладка разработчика отображается, затем нажмите Visual Basic, и откроется редактор. Наш автоматически открывается с помощью нашего тестового макроса.

Sub указывает на начало подпрограммы, а Test — это имя, которое вы выбрали.Вы можете увидеть зеленым цветом то, что мы заполнили в исходном поле: это описание в форме комментариев, которые компилятор проигнорирует. Обычный текст — это поведение макроса, а затем End Sub завершает подпрограмму.

Таким образом, вы можете запустить базовый макрос без программирования и отредактировать его вручную.

Например, попробуйте скопировать строки инструкций, но измените имя файла (мы пошли с TestImage2.png), затем нажмите «Сохранить». Когда вы снова запустите макрос, он добавит оба изображения в ваш документ Word!

Если вам интересны VBA и макросы, документация Microsoft — хорошее место для начала.

Вы можете привести еще примеры?

По сути, большинство вещей, которые вы делаете в Word, можно автоматизировать с помощью макросов. Представьте, что вы постоянно используете таблицы для отчета, и между ними мало что меняется. Просто создайте макрос, который вставляет таблицу с желаемым количеством столбцов и строк, и все готово не только для этого документа, но и для любого будущего документа.

Еще одно отличное приложение для макросов — Find и Replace . Это просто, когда это одно слово, но когда их несколько, вы обнаруживаете, что выполняете одно и то же задание для разных слов несколько раз.Вместо этого у вас может быть макрос со списком слов, которые вы часто используете, запустите его, и все слова из этого списка будут выделены в документе. И это касается многих функций, которые предлагает Word. А если вы заблудитесь, скорее всего, вы найдете пример, похожий на то, что вы хотите, над которым вы можете поработать.

Итог: макросы повышают производительность и избавляют вас от повторяющихся задач — нет причин не начать их использовать!

Связанные сообщения в блоге

Макросы

Word: четыре примера для автоматизации ваших документов

Макросы

Word — это чудо в один щелчок, позволяющее запрограммировать сложные процедуры, запускаемые по вашему запросу. Вот несколько примеров, с которых можно начать. Один создает фирменный бланк вашей компании; второй вставляет предварительно отформатированные таблицы; а третий определяет и разрабатывает пользовательские форматы книг.

ПРИМЕЧАНИЕ. Вы увидите некоторые инструкции со строками нажатий клавиш, которые представляют собой макро-инструкции для изменения положения курсора. Обязательно скопируйте их именно так, как написано.

Настройка, определение и запись макросов

Шаг 1: Настройка макроса

A. Выберите вкладку «Просмотр», затем нажмите «Макросы » > «Записать макрос ».

B. В диалоговом окне «Запись макроса» введите имя и описание макроса. Следуйте этим правилам для имени:

  • Имена макросов должны начинаться с буквы и использовать буквы или цифры. Вы не можете использовать пробелы, не буквенно-цифровые символы или точки.
  • Имя макроса может состоять максимум из 80 символов
  • Имена макросов не могут конфликтовать с зарезервированными командами или ключевыми словами программы, такими как «Печать», «Сохранить», «Копировать», «Вставить».
  • Описание — это просто примечания, в которых кратко описаны функции макроса.

C. В поле «Сохранить макрос в» выберите Все документы , чтобы запустить этот макрос во всех ваших документах Word, или выберите текущий документ (отображаемый по имени файла), чтобы использовать этот макрос только в текущем документе. Нажмите ОК .

D. Затем на панели «Назначить макрос» нажмите кнопку , или , клавиатура (ярлык) для метода, используемого для доступа к макросу и его запуска.

Примечание: Большинство сочетаний клавиш уже используются системой.Несмотря на то, что вы можете перезаписать многие из этих ярлыков, гораздо проще прикрепить макрос к кнопке.

Установите макрос Word.

Шаг 2. Добавьте кнопку макроса на панель быстрого доступа

A. Нажмите кнопку , откроется экран «Параметры Word / Настройка панели инструментов быстрого доступа». На этом экране найдите свой макрос, выберите / выделите его, затем нажмите Добавить . Word копирует макрос с левой панели «Макросы» на правую панель быстрого доступа.

Б.Щелкните Изменить , выберите значок, представляющий кнопку макроса, затем щелкните OK .

C. По завершении нажмите OK еще раз, чтобы выйти.

Добавьте кнопку макроса на панель быстрого доступа.

Шаг 3. Запишите макрос

Введите нажатия клавиш, которые должен записывать макрос. (См. «A» ниже.)

Шаг 4: Остановить запись

По завершении снова выберите вкладку «Просмотр», затем нажмите Остановить запись . (См. «B» ниже.)

Примечание: Обратите внимание, что настроенная кнопка макроса отображается на панели быстрого доступа. Чтобы снова запустить макрос, просто нажмите эту кнопку.

Как записать макрос, а затем остановить макрос.

Три быстрых и простых макроса

Макрос 1: фирменный бланк компании

Большинство компаний обменяли печатные фирменные бланки на цифровые. Потратьте немного времени один раз на запись этого макроса, и вы сможете поместить бланк на документ за одну секунду.

Повторите шаги 1 и 2 выше.Назовите макрос (для этого примера) BranchesLetterhead. Затем для шага 3 (макрос уже запущен) следуйте этим инструкциям макроса:

A. На вкладке «Вставка» выберите изображений . Перейдите в папку с логотипом вашей компании, выберите это изображение и нажмите Вставить .

B. В диалоговом окне «Параметры макета» выберите один из параметров обтекания текстом, затем закройте диалоговое окно. Нажмите клавишу Esc, чтобы отменить выбор рисунка, затем нажмите клавишу End один раз и клавишу Tab один раз.

Запишите макрос, который создает фирменный бланк компании.

C. Введите название компании: Branches, Inc . Выделите имя. Щелкните раскрывающийся список в группе Шрифт; выберите гарнитуру и размер шрифта. Один раз нажмите клавишу End, затем трижды нажмите клавишу Enter. Затем дважды нажмите стрелку вверх, затем нажмите Shift + Down, Down (нажмите и удерживайте клавишу Shift, одновременно нажимая клавишу со стрелкой вниз дважды).

D. Выберите гарнитуру (в этом примере я выбираю что-нибудь без засечек, например Arial или Helvetica), выберите размер (в данном примере — 11 пунктов), затем нажмите клавишу «Домой» один раз и клавишу Tab дважды. .

E. Введите адресную информацию, затем трижды нажмите клавишу Enter.

F. В главном меню нажмите Вставить > Текст , затем нажмите кнопку Вставить дату и время . Выберите формат даты в диалоговом окне «Дата и время», установите флажок « Обновлять автоматически, », затем нажмите «», «ОК», .

G. Выделите и измените шрифт даты и времени на стандартный шрифт документа вашей компании.

H. Наконец, выделите букву «B» в разделе «Ветви» и увеличьте размер шрифта до 60.

I. Начиная с шага 4 выше, снова выберите вкладку «Просмотр» и нажмите Остановить запись .

Теперь, когда вам понадобится фирменный бланк, просто нажмите кнопку макроса BranchesLetterhead на панели быстрого доступа.

Запишите макрос, который создает фирменный бланк компании, продолжение.

Макрос 2: вставка заранее разработанных таблиц

Моя подруга Кэрри создала еженедельный отчет, который включал таблицу с определенными измерениями, столбцами, строками и заголовками. Она копировала и вставляла созданный ею шаблон таблицы в каждый новый документ, но он всегда был непоследовательным и искаженным.Табличный макрос был лучшим решением.

Повторите шаги 1 и 2 выше. Назовите макрос (в этом примере CorpRptTable). Затем для шага 3 (макрос уже запущен) следуйте этим инструкциям макроса:

A. На вкладке «Вставка» щелкните Таблица .

B. В диалоговом окне «Вставить таблицу» проведите курсором по сетке по горизонтали, чтобы выбрать необходимое количество столбцов, затем сдвиньте вниз, чтобы выбрать строки. Когда сетка правильного размера, щелкните мышью.

С.Введите следующие заголовки в верхней строке: Участник, Род занятий, Местоположение, Проект и Пожертвование.

D. Когда курсор все еще находится в конце слова «Пожертвование» в столбце 5, строка 1: нажмите и удерживайте клавиши Ctrl и Shift, затем нажмите клавишу со стрелкой влево пять раз.

E. Выделив первую строку, перейдите на вкладку «Главная» и щелкните Группа абзацев . Щелкните значок для текста с выравниванием по центру, затем в группе «Шрифты» щелкните Полужирный .Нажмите клавишу курсора со стрелкой влево один раз, чтобы переместить курсор в ячейку A1.

Примечание. Когда курсор находится в любом месте внутри таблицы, на ленте отображается новый набор вкладок, который называется «Дизайн инструментов для таблиц» и «Макет инструментов для таблиц».

F. Удерживая курсор в положении A1, выберите Инструменты таблицы > Макет . В группе «Размер ячейки» нажмите кнопку Ширина столбца таблицы и щелкните стрелки, чтобы изменить ширину столбца вверх или вниз. Установите первый столбец на 1.Два дюйма. Нажмите клавишу TAB один раз, а затем стрелку влево, чтобы переместить курсор в следующий столбец.

Примечание: Если заголовок столбца выделен, новая ширина столбца влияет только на эту единственную строку.

G. Поместите курсор во втором столбце перед O в разделе «Занятие», перейдите в Инструменты таблицы и щелкните Макет > Размер ячейки и установите ширину столбца таблицы> 1,2 дюйма.

H. Настройте остальные столбцы на следующие параметры: Местоположение 1.7 дюймов, Проект 1,5 дюйма и Пожертвования 1,0 дюйма.

I Нажмите Ctrl + End, чтобы переместить курсор снаружи и под таблицей, затем введите: Рисунок 1 .

J. Начиная с шага 4 выше, снова выберите вкладку «Просмотр» и нажмите Остановить запись .

Запишите макрос, который вставляет заранее разработанные таблицы.

Макрос 3: создание настраиваемых форматов книг

Если вы создаете собственные публикации, создайте макрос, который устанавливает настраиваемый формат для каждого из них. Фактически, вы можете просто создать один формат, затем отредактировать его и повторно сохранить для соответствия отдельным форматам.

Повторите шаги 1 и 2 выше. Назовите макрос (для этого примера) Book8x5Format. Затем для шага 3 (макрос уже запущен) следуйте этим инструкциям макроса:

A. На вкладке «Макет страницы» щелкните Параметры страницы > Размер .

B. Выберите Дополнительные размеры бумаги в раскрывающемся меню.

C. В диалоговом окне «Параметры страницы» выберите вкладку «Бумага», щелкните « Размер бумаги, », затем выберите « Custom » из раскрывающегося списка.

D. Введите ширину 5,5 дюймов и высоту 8,5 дюймов и нажмите OK .

E. Опять же, на вкладке «Макет страницы» в группе «Параметры страницы» нажмите кнопку Margin .

F. Выберите Пользовательские поля из раскрывающегося списка.

G. В диалоговом окне «Параметры страницы» выберите вкладку «Поля».

Примечание: Сначала необходимо настроить параметры страниц, выбрав «Несколько страниц», поскольку этот параметр изменяет поля полей.

H. Из списка Pages > Multiple Pages выберите Normal из раскрывающегося списка. В качестве листов в буклете выберите Все .

I. Введите поля: верхнее = 1, нижнее = 1, левое = 0,5, правое = 0,5, желоб = 0,3 и положение желоба = левое.

J. Для Ориентации выберите Книжная , затем нажмите OK .

Примечание: Изображение на панели предварительного просмотра показывает этот макет с полями и промежутками.

Запишите макрос, создающий настраиваемые форматы книг.

K. Затем выберите Абзац на вкладке «Макет страницы». Перейдите на вкладку Отступы и промежутки г.

L. На панели «Общие» выберите Выравнивание = По ширине; Уровень структуры = основной текст.

M. На панели «Отступ» выберите «Слева» = 0; Вправо = 0; Special = Первая линия; По = 0,25.

N. На панели Интервал выберите Перед = 0; После = 0; Межстрочный интервал = несколько; При = 1,25. И нажмите ОК .

O. Введите абзац или около того общего текста.Щелкните правой кнопкой мыши и выберите стилей во всплывающем контекстном меню. В диалоговом окне «Стили» выберите из списка таблицу стилей вашей компании (CorpStyle).

ПРИМЕЧАНИЕ. Если в вашей компании нет таблицы стилей, выберите Нормальный . Не стесняйтесь читать наши инструкции по созданию таблиц стилей после завершения этого макроса.

Отступы, интервалы и стили для пользовательских форматов книг.

P. Затем выберите вкладку «Вставка» и перейдите в группу «Верхний и нижний колонтитулы». Нажмите кнопку Заголовок и выберите стиль из списка, затем введите текст заголовка.

Примечание. Обратите внимание, что появляется меню «Дизайн верхнего и нижнего колонтитула».

Q. В группе «Параметры» установите флажки для различных четных и нечетных страниц . Щелкните правой кнопкой мыши контекстное меню, выберите абзац и выберите Alignment: Right (для заголовка нечетной страницы). Затем прокрутите вниз до раздела «Нижний колонтитул»: щелкните правой кнопкой мыши, выберите Номер страницы > Низ страницы > Обычный номер 3 (размещение по правому краю).

р.Вставьте разрыв страницы, затем повторите шаги P и Q выше, чтобы добавить верхние и нижние колонтитулы к четным страницам.

S. Начиная с шага 4 выше, снова выберите вкладку «Просмотр» и нажмите Остановить запись .

Верхние, нижние колонтитулы и страницы для пользовательских форматов книг.

Примечание. Когда вы покупаете что-то после перехода по ссылкам в наших статьях, мы можем получить небольшую комиссию.Прочтите нашу политику в отношении партнерских ссылок для получения более подробной информации.

Как создать макрос в Word

Макрос — это серия команд, которые записываются и сохраняются, чтобы их можно было легко запустить снова по запросу. Если у вас есть серия повторяющихся задач, запись макроса может сэкономить вам много времени.

Показать вкладку разработчика

Прежде чем вы сможете создавать или использовать макросы, вам необходимо включить вкладку «Разработчик».

  1. Щелкните вкладку Файл .
  2. Выберите Опции .

    Откроется окно «Параметры Word».

  3. Щелкните вкладку Настроить ленту слева.

    Столбец справа определяет, какие вкладки ленты включены.

  4. Установите флажок Developer .
  5. Щелкните ОК .

Вкладка «Разработчик» теперь отображается в конце ленты.

Включить макросы

После того, как вы включили вкладку «Разработчик», вы можете изменить настройки безопасности документа, чтобы разрешить использование макросов.

  1. Щелкните вкладку Developer .
  2. Нажмите кнопку Macro Security .

    Прежде чем использовать макросы, важно знать, что макросы могут представлять угрозу безопасности. Поскольку они запускают внешний код, запуск одного из ненадежных источников может заразить ваш компьютер или другие в вашей сети вирусом.

  3. Выберите подходящий уровень безопасности.

    Существует четыре уровня безопасности макросов:

    • Первый уровень полностью отключает макросы, блокируя их без уведомления. Этот вариант является наиболее безопасным, но он не позволяет запускать макросы вообще — даже макросы, которые вы записываете сами.
    • По умолчанию макросы блокируются, но отображается уведомление. Это уведомление позволяет вам включать макросы в каждом конкретном случае.Этот вариант безопасен, если вы знаете, что можете доверять разрешенным макросам.
    • Вы можете автоматически включить макросы с цифровой подписью. Вам по-прежнему будет предложено ввести большинство макросов, но доверенные макросы будут разрешены без запроса.
    • Наконец, вы можете включить все макросы без запроса. Это может быть опасно, поэтому используйте эту команду с осторожностью.
  4. Щелкните ОК .

Выбранный параметр защиты от макросов включен.

Запись макроса

Если вам нужно выполнить повторяющуюся серию задач, вы можете записать эти задачи в виде макроса.

  1. Поместите курсор в то место, где вы хотите начать запись макроса.
  2. Нажмите кнопку Запись макроса .

    Откроется окно «Запись макроса», в котором вы можете настроить имя макроса, описание и механизм запуска перед его записью.

  3. Дайте макросу имя.

    Обратите внимание, что макрос будет сохранен в шаблоне Normal, что означает, что он будет доступен в других документах, созданных с использованием этого шаблона.Если вам нужно сохранить его в другом шаблоне или документе, обязательно укажите это здесь.

    Затем вы можете выбрать, будет ли запуск макроса запускаться кнопкой, которую можно добавить на панель быстрого доступа, или комбинацией клавиш быстрого доступа. В этом уроке будет рассказано о добавлении макроса, использующего сочетание клавиш.

  4. Нажмите кнопку Клавиатура .
  5. Нажмите сочетания клавиш, которые вы хотите использовать.

    Убедитесь, что вы используете комбинацию клавиш, которая не мешает работе других команд Word или системы.

  6. Щелкните Назначить .
  7. Щелкните Закройте .

    Макрос немедленно начинает запись.

  8. Запишите макрос.

    Во время записи макрос фиксирует нажатия клавиш и кнопки, но выделенный с помощью мыши текст не записывается.Используйте клавиатуру, чтобы выделить текст и переместить курсор, если вы хотите, чтобы эти действия были записаны.

    Кнопка Стоп также появляется в строке состояния во время записи макроса.

  9. Нажмите кнопку Stop , когда закончите запись.

Запись останавливается, и макрос сохраняется.

Запуск макроса

Когда вы записали и сохранили макрос в документе, вы можете запустить его с помощью сочетания клавиш или кнопки панели быстрого доступа, назначенной ему при создании. Вы также можете просмотреть все макросы в документе и выбрать один для непосредственного запуска.

  1. Щелкните в том месте, где вы хотите запустить макрос.
  2. Щелкните вкладку Developer .
  3. Нажмите кнопку Macros .

    Все макросы в текущем шаблоне перечислены в диалоговом окне «Макросы». Отсюда вы можете запустить макрос, отредактировать его, создать новый или удалить макросы, которые вам больше не нужны.

  4. Выберите макрос.
  5. Выберите макрос и нажмите кнопку Изменить , чтобы открыть макрос в редакторе Visual Basic.Оттуда вы можете просмотреть шаги, которые использует макрос, удалить ненужные шаги или даже изменить свойства шага, чтобы настроить макрос еще больше.

  6. Нажмите кнопку Выполнить .

Выбранный макрос запущен.

Как создать и запустить макрос в Word

Если вы много работаете с Microsoft Word и постоянно делаете одно и то же, создайте макрос. Макро — это сокращение от слова «макроинструкция», которое означает серию инструкций для выполнения задачи.

Самое замечательное в создании макросов в Word заключается в том, что вам не нужно знать, как программировать. Если вы можете нажать запись и остановить, вы можете это сделать.

Макросы не опасны?

Слышали ли вы о том, что макросы плохи, потому что могут содержать вирусы? Хотя вы должны быть осторожны, открывая документы Office от неизвестных людей, поскольку они могут содержать вредоносные макросы, здесь это не проблема. Вы создаете свой собственный макрос, чтобы знать, что это не вирус.

Как записать макрос в Word

В этом примере вы собираетесь создать макрос в Word, чтобы вставить свою подпись в конец документа.

  1. В открытом Word перейдите на вкладку View .
  2. Щелкните стрелку вниз под кнопкой Macros .
  3. Select Record Macro… откроется новое окно.
  1. В поле Имя макроса: введите значимое имя для макроса.Пробелы не допускаются. Используйте подчеркивание или тире.
  2. В раскрывающемся списке Сохранить макрос в: вы можете выбрать, какие документы вы хотите использовать для этого макроса. Если вы выберете Все документы (Normal.dotm), макрос будет доступен вам в каждом новом документе Word, который вы создаете с этого момента. Если вы выберете один документ, он будет применяться только к этому единственному документу. Обычно лучше выбрать Все документы .
  1. В поле Описание: напишите, что делает макрос.Это простой макрос с описательным именем, но по мере освоения макросов вы будете выполнять более сложные задачи, поэтому описание всегда будет хорошей идеей.
  2. Вы можете выбрать Назначить макрос для либо кнопку, которую вы создадите с помощью кнопки , либо горячие клавиши, которые можно выбрать с помощью кнопки Keyboard . Для Word уже существует множество сочетаний клавиш, поэтому лучше всего подойдет кнопка. Выберите Кнопка . Откроется новое окно с названием Word Options .
  1. Здесь вы назначите макросу кнопку на ленте Word. Выберите Настроить ленту .
  2. В раскрывающемся списке Выбрать команды из: выберите Макросы . Это покажет нам наши макросы в области под ним.
  1. Вам нужно где-нибудь на ленте поставить макрос. В этом примере выберите Home в области «Основные вкладки». Затем выберите Новая группа .
  2. Выберите Переименовать , чтобы дать ему осмысленное имя.
  3. В окне Переименовать выберите один из значков для представления группы, затем введите Мои макросы в поле Отображаемое имя .
  4. Выберите OK , чтобы применить. Вы увидите изменение в области Основные вкладки .
  1. Выбрав новые «Мои макросы» в области «Основные вкладки», выберите макрос Normal.NewMacros.Insert_Signature .
  2. Выберите Добавить , чтобы вставить его в группу «Мои макросы».
  1. Конечно, вы захотите его переименовать. Выбрав макрос в области «Основные вкладки», выберите Переименовать…
  2. В окне «Переименовать» выберите значок и введите простое имя в поле «Отображаемое имя : ».
  3. Выберите ОК , чтобы зафиксировать изменение. Вы увидите изменение в области основных вкладок.
  4. Выберите OK под областью основных вкладок, чтобы завершить создание кнопки для макроса.
  1. Создайте любой блок подписи, какой захотите.Добавьте скан своей подписи или другие изображения. Как хотите. Когда это будет сделано, нажмите стрелку вниз под кнопкой Macros .
  2. Выберите Остановить запись . Это оно. Макрос вставки подписи создан.
  1. Проверьте это, найдя кнопку Insert Signature , которую вы создали на вкладке «Главная», и выберите ее. Ваш блок подписи должен волшебным образом выглядеть именно так, как вы его создали.

Как написать макрос

Для большинства макросов метод записи является наиболее эффективным способом их создания.В конце концов, вам захочется заняться чем-то более сложным. Это требует написания макроса на языке Visual Basic для приложений (VBA). У нас есть лучшее руководство по VBA для начинающих, так что добавьте его в закладки. Давайте создадим макрос, который покажет нам среднее количество слов в предложении, чтобы помочь нам определить, когда мы многословны.

  1. Вам нужен доступ к вкладке Developer , которая по умолчанию скрыта в Word. В верхнем левом углу Word выберите , файл .
  1. В левом нижнем углу выберите Параметры .
  1. В открывшемся окне выберите Настроить ленту .
  2. Справа найдите Developer и поставьте рядом с ним галочку.
  3. Выберите ОК , чтобы закрыть окно. Откроется вкладка Developer .
  1. Выберите вкладку Developer .
  2. Нажмите кнопку Macros .
  1. Введите значащее имя в Имя макроса: Оставьте макрос в: как Нормальный.dotm, поэтому он будет применяться ко всем документам Word. Всегда вводите описание в поле Описание: .
  2. Выбрать Создать . Откроется средство разработки Microsoft Visual Basic для приложений .
  1. Код, показанный в зеленых прямоугольниках ниже, уже должен быть там с небольшим промежутком между ними. Скопируйте и вставьте в это место следующий код:

Dim s As Range
Dim numWords As Integer
Dim numSentences As Integer
numSentences = 0
numWords = 0

для каждого с в ActiveDocument.Предложения
numSentences = numSentences + 1
numWords = numWords + s.Words.Count
Следующие

MsgBox «Среднее количество слов в предложении» + Str (Int (numWords / numSentences)) + «. Лучше меньше 15 ».

  1. Нажмите кнопку Выполнить , чтобы проверить код. Если он не работает должным образом, редактируйте код до тех пор, пока он не запустится так, как вам нужно.
  1. Нажмите кнопку Сохранить и закройте окно проявки.
  1. Создайте кнопку на ленте Word, используя тот же метод, который показан в инструкциях «Как записать макрос» выше.
  2. Найдите только что созданную кнопку и проверьте ее.

Мой макрос не работает, когда я сохраняю свой документ Word

Word по умолчанию сохраняет с расширением файла .docx, что не позволяет макросам запускаться автоматически. Если вы хотите, чтобы макрос запускался, вам нужно изменить тип файла на Word Macro-Enabled Document (* .docm).

Этот тип файла существует частично для борьбы с проблемами безопасности макросов. Если вы видите это расширение файла в документе, который не ожидали получить, будьте подозрительны.

Что еще можно делать с макросами?

Вы можете создавать макросы в Excel, Outlook, даже PowerPoint. Все, что вы сейчас делаете вручную, у вас должна быть возможность записать или написать макрос для этого. Использование макросов в Word вместе с отличными сочетаниями клавиш Windows повысит вашу продуктивность в десять раз.

Понимание макросов в Microsoft Word

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

Инструкции в этой статье относятся к Word для Microsoft 365, Word 2019, Word 2016, Word 2013 и Word 2010.

Зачем нужны макросы

С макросом вы можете получить те же результаты, щелкнув команду вместо выполнения всех шагов. Вот несколько способов использования макросов для повышения производительности:

  • Вставьте логотип и название вашей компании определенным шрифтом.
  • Вставьте таблицу, которую нужно регулярно создавать.
  • Отформатируйте документ с определенными характеристиками, такими как нумерация страниц и двойные абзацы.

Создание и использование макросов — это приобретенный навык, но полученная в результате эффективность стоит затраченных усилий.

Создать макрос

В Word более 950 команд, большинство из которых находятся в меню и на панелях инструментов и имеют назначенные им сочетания клавиш. Однако некоторые из этих команд по умолчанию не назначаются меню или панелям инструментов.Прежде чем создавать собственный макрос Word, проверьте, существует ли он и может ли он быть назначен панели инструментов.

Чтобы увидеть команды, доступные в Word, выполните следующие действия:

  1. Выберите вкладку View .

  2. Выберите Macros .

  3. Выберите Просмотр макросов .

    Или нажмите сочетание клавиш Alt + F8 , чтобы открыть диалоговое окно Macros .

  4. Выберите макросы в стрелке раскрывающегося списка и выберите Word Commands .

  5. В алфавитном списке имен команд выделите имя, чтобы отобразить описание команды в нижней части диалогового окна Macros под меткой Description .

Если команда, которую вы хотите создать, существует, не дублируйте ее своим собственным макросом Word. Если его не существует, приступайте к созданию макроса Word.

План эффективных макросов Word

Самый важный шаг в создании эффективных макросов Word — тщательное планирование.Это планирование включает в себя четкое представление о том, что вы хотите, чтобы макрос Word выполнял, как он упростит вашу будущую работу и в каких обстоятельствах вы собираетесь его использовать.

Когда вы запомните эти вещи, спланируйте фактические шаги. Это важно, потому что диктофон запомнит все, что вы делаете, и включит это в макрос. Например, если вы вводите что-то, а затем удаляете его, каждый раз, когда вы запускаете этот макрос, Word будет делать ту же запись, а затем удаляет ее, делая макрос небрежным и неэффективным.

При планировании макросов следует учитывать следующее:

  • Спланируйте команды и порядок, в котором вы хотите, чтобы макрос выполнял команды.
  • Знайте сочетания клавиш для команд, которые вы планируете использовать. Это особенно важно для навигации, поскольку вы не можете использовать мышь для навигации в области документа при запуске рекордера. Кроме того, вы создадите более компактный макрос, если будете использовать сочетание клавиш, а не клавиши со стрелками.
  • Запланируйте сообщения, которые Word может отображать и останавливать макрос.
  • Используйте как можно меньше шагов, чтобы макрос оставался эффективным.
  • Выполните хотя бы один тестовый запуск перед началом записи.

После того, как вы спланировали свой макрос Word и выполнили его прогон, вы готовы его записать. Если вы тщательно спланировали макрос, его запись для последующего использования будет самой простой частью процесса. Единственное различие между созданием макроса и работой с документом состоит в том, что вам нужно нажать несколько дополнительных кнопок и сделать несколько вариантов выбора в диалоговых окнах.

Запишите макрос

Когда вы начинаете запись макроса, рядом с указателем мыши появляется маленький значок, похожий на кассету, что указывает на то, что Word записывает ваши действия. Затем вы можете выполнить шаги, изложенные на этапе планирования. Когда вы закончите, нажмите кнопку Stop (синий квадрат слева). Как только вы нажмете кнопку Stop , ваш макрос Word будет готов к использованию.

Вот как записать макрос.

  1. Перейдите на вкладку View , выберите Macros , затем выберите Record Macro , чтобы открыть диалоговое окно Record Macro .

  2. В текстовом поле Macro Name введите уникальное имя.

    Имена могут содержать до 80 букв или цифр (без символов или пробелов) и должны начинаться с буквы. Имя должно быть уникальным, чтобы вы могли определить, что оно делает, не обращаясь к описанию.

  3. В текстовом поле Описание введите описание действий, выполняемых макросом.

  4. Выберите, хотите ли вы, чтобы макрос был доступен во всех документах или только в текущем документе.Если вы решили ограничить доступность команды, выделите имя документа в раскрывающемся меню Сохранить макрос в .

    По умолчанию Word делает макрос доступным для всех ваших документов, и вы, вероятно, обнаружите, что это имеет наибольший смысл.

  5. Когда вы ввели информацию для макроса, выберите OK . Панель инструментов записи макроса появляется в верхнем левом углу экрана.

Чтобы приостановить запись, нажмите кнопку Pause Recording / Resume Recorder (она находится справа).Чтобы возобновить запись, выберите ее еще раз.

Проверьте макрос

Цель создания макросов в Word — ускорить вашу работу, предоставив вам возможность выполнять повторяющиеся задачи и сложные последовательности команд. Убедитесь, что ваш макрос работает должным образом, протестировав макрос.

  1. Чтобы запустить макрос, нажмите сочетание клавиш Alt + F8 , чтобы открыть диалоговое окно Macros .

  2. Выделите макрос в списке, затем выберите Run .

Если вы не видите свой макрос, убедитесь, что его правильное место находится в поле Macros in .

Создание сочетаний клавиш для макросов

Если вы создали несколько макросов, поиск в диалоговом окне Macros требует времени. Если вы назначили макросу комбинацию клавиш, вы можете обойти диалоговое окно и получить доступ к своему макросу непосредственно с клавиатуры так же, как вы используете сочетания клавиш для доступа к другим командам в Word.

  1. Выберите File , затем выберите Options .

  2. В диалоговом окне Word Options перейдите на левую панель и выберите Custom Ribbon .

  3. Выберите Настроить .

  4. В списке Категории прокрутите вниз до Макросы и выберите макрос, для которого вы хотите создать новый ярлык.

    Если макросу в настоящее время назначена комбинация клавиш, она появится в поле под меткой Текущие клавиши .

  5. Если макросу не назначена горячая клавиша или если вы хотите создать вторую комбинацию клавиш для макроса, выберите текстовое поле Нажмите новую комбинацию клавиш .

  6. Введите комбинацию клавиш, которую вы хотите использовать для доступа к вашему макросу.

    Если сочетание клавиш назначено команде, появится сообщение В настоящее время назначено , за которым следует имя команды. Либо переназначьте сочетание клавиш, продолжив, либо выберите новое сочетание клавиш.

  7. Щелкните стрелку раскрывающегося списка Сохранить изменения в и выберите Нормальный , чтобы применить изменения ко всем документам, созданным в Word.

    Чтобы использовать сочетание клавиш только в текущем документе, выберите имя документа из списка.

  8. Выберите Назначить .

  9. Выберите Закройте , чтобы сохранить изменения.

Спасибо, что сообщили нам!

Расскажите, почему!

Другой Недостаточно подробностей Сложно понять

Как создать макрос в документе Word

Макрос

— это серия команд и инструкций, которые вы объединяете в одну команду для автоматического выполнения задачи.

Следуйте приведенным ниже методам, чтобы создать макрос в документе Word —

Метод 1. Запишите макрос с помощью параметра кнопки

Microsoft Word имеет возможность записывать и запускать макросы для повышения эффективности документа.

Примечание. Вы также можете добавить макросы в Microsoft Excel.

Чтобы записать макрос в Microsoft Word, выполните следующие действия —

Шаг 1: Откройте новый или существующий документ Word.

Шаг 2: Щелкните вкладку View на ленте и щелкните значок раскрывающегося списка, связанный с Macros в разделе Macros .

Шаг 3: Щелкните по макросу записи в раскрывающемся меню.

Шаг 4: На экране появится диалоговое окно «Запись макроса», в котором выполните следующие действия —

  1. Введите Имя для макроса в текстовое поле Имя макроса.
  2. Чтобы использовать тот же макрос для следующего документа, выберите параметр Все документы (Normal.dotm) в раскрывающемся меню Сохранить макрос в .
  3. Щелкните значок Button в разделе «Назначить макрос», чтобы запустить макрос.

Шаг 5: На экране появится окно Word Options с выделенной панелью Quick Access Toolbar на левой панели.

  1. Щелкните имя нового макроса (Normal.NewMacros.MyMacro) в левой части экрана.
  2. Нажмите кнопку Добавить , чтобы добавить макрос на панель быстрого доступа в правой части экрана.
  3. Нажмите кнопку Modify , как показано на снимке экрана ниже.

Шаг 6: Выберите макрос , который вы хотите записать, в диалоговом окне Modify Button, введите Отображаемое имя и нажмите кнопку OK .

Шаг 7: Нажмите кнопку ОК в окне Параметры Word .

Шаг 8: Теперь щелкните вкладку View и щелкните раскрывающееся меню Macros . В раскрывающемся меню выберите Stop Recording Macro.

Теперь вы можете видеть, что записанный макрос появится на панели быстрого доступа.

Метод 2: Запишите макрос с помощью опции клавиатуры

Выполните следующие шаги, чтобы записать макрос с помощью клавиатуры —

Шаг 1: Откройте новый или существующий документ Word.

Шаг 2: Перейдите на вкладку View -> Macros и выберите Record Macro из раскрывающегося меню.

Шаг 3: На экране появится диалоговое окно Запись макроса , в котором выполните следующие действия —

  1. Введите имя для макроса.
  2. Чтобы использовать тот же макрос для следующего документа, выберите параметр Все документы (Normal.dotm) в раскрывающемся меню Сохранить макрос .
  3. Щелкните значок Keyboard в разделе Assign macro to , чтобы запустить макрос.

Шаг 4: На экране появится диалоговое окно « Настройка клавиатуры» . Нажмите любую комбинацию сочетаний клавиш в диалоговом окне Нажмите новую комбинацию клавиш . Щелкните кнопку Assign .

Примечание: в нашем случае мы собираемся использовать клавишу Ctrl + Shift + M.

Шаг 5: После того, как вы нажмете кнопку Assign , в текстовом поле текущего ключа появится нажатая комбинация клавиш.Нажмите кнопку Close , как показано на скриншоте ниже.

Шаг 6: Выполните действие, которое вы хотите записать.

Шаг 7: Щелкните вкладку View на ленте и выберите Stop Recording из раскрывающегося меню Macros .

Запустить макрос

1. Перейдите в View -> Macros и выберите View Macros из раскрывающегося меню.

2.На экране появится диалоговое окно Macros . Выберите список макросов, который вы хотите запустить, из имени макроса : .

3. Нажмите кнопку Выполнить , как показано на снимке экрана ниже.

Добавить кнопку макроса на ленту

Добавление кнопки макроса на ленту помогает легко получить доступ к макросу в документе Word.

Выполните следующие шаги, чтобы добавить кнопку макроса на ленту —

Шаг 1: Щелкните вкладку File в верхнем левом углу экрана.На экране появится список параметров файла. Перейдите на вкладку Options .

Шаг 2: На экране появится диалоговое окно Word Options . Щелкните пользовательскую ленту на левой панели экрана.

Шаг 3: Щелкните на Macros в разделе Выберите команду из . Щелкните Новая вкладка , а затем щелкните Добавить . На экране появится значок макросов .

Шаг 4: Щелкните правой кнопкой мыши в макросе и выберите Переименовать из раскрывающегося меню.

Шаг 5: На экране появится диалоговое окно «Переименовать». Выберите символ в соответствии с вашими требованиями. Введите имя символа в текстовое поле Отображаемое имя и нажмите кнопку ОК.

Теперь вы можете видеть, что макрос добавлен на ленту.


Создайте свой первый макрос Word за 5 минут

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

Вы должны записать шаги, чтобы перейти к нижней части текста в вашем текущем документе, а затем вставить свою строку подписи. Любые корректировки форматирования или интервала также могут быть частью шагов макроса.

Вы можете запустить макрос, нажав кнопку или используя заданное вами сочетание клавиш.(Примечание: вы также можете добавить свою подпись в качестве быстрой части, о которой будет рассказано в другом сообщении.)

Начните с перехода на вкладку «Просмотр» и нажатия кнопки «Запись макроса». Выберите «Записать макрос». См. Рисунок 1.

Рисунок 1

Откроется диалоговое окно «Запись макроса». Введите имя вашего макроса в поле Имя макроса. Я использовал «Подпись» в качестве имени для этого примера. См. Рисунок 2.

Рисунок 2

В этом примере мы выберем назначение макроса кнопке на панели инструментов быстрого доступа (которая расположена в верхнем левом углу экрана Word), щелкните кнопку с молотком на ней в разделе «Назначить макрос для». .См. Рисунок 3.

Рисунок 3

Вы попадете на экран параметров Word в разделе панели быстрого доступа. Левый из двух основных списков будет установлен на «Нормальный.Новые макросы.Подпись». Убедитесь, что он выбран, а затем нажмите кнопку «Добавить» посередине. Это переместит «Normal.NewMacros.Signature» в правый список, который будет на панели быстрого доступа. См. Рисунок 4.

Рисунок 4

С параметром «Нормальный.NewMacros.Signature », все еще выбранный с правой стороны, нажмите кнопку« Изменить »внизу этого списка. Вы можете переименовать кнопку и изменить отображаемое имя в открывшемся диалоговом окне «Изменить кнопку». См. Рис. 5. Выберите любую кнопку и введите желаемое имя внизу в поле «Отображаемое имя». Я выбрал «Подпись» в качестве отображаемого имени для этого примера. По завершении нажмите ОК. Затем снова нажмите ОК в окне параметров Word.

Рисунок 5

Теперь вы готовы записывать свои шаги.Важно отметить, что вам нужно использовать клавиатуру для перемещения точки вставки, поскольку она не будет записывать щелчки мыши. Чтобы создать линию подписи, у вас обычно есть письмо, хотя бы частично или в основном написанное. Итак, ваш первый шаг — использовать сочетание клавиш CTRL + END, чтобы перейти к концу абзаца, который вы ввели в документе.

Затем вы должны напечатать какое-нибудь завершение, например, «С уважением», «С уважением» или что-то еще, подходящее для большинства ваших писем.Затем нажмите Enter. Чтобы вставить файл изображения подписи, вы можете щелкнуть вкладку «Вставить», а затем кнопку «Изображения». Перейдите к файлу подписи и выберите его. Нажмите Enter. (Примечание: если вы не хотите вставлять файл подписи, просто нажмите клавишу ввода несколько раз, чтобы оставить место для вашей подписи на документе при его печати.)

Чтобы отформатировать информацию с одинарным интервалом, щелкните вкладку «Главная», а затем выберите параметр «Без интервала» в группе «Стили». Это второй слева.См. Рисунок 6.

Рисунок 6

Теперь, когда вы вводите свое имя, должность, компанию, адрес, адрес электронной почты и телефон (или любую другую информацию, которую вы хотите включить), все это будет через один интервал. Вы можете использовать клавиши клавиатуры, чтобы выбрать информацию, которую вы ввели, используя Shift + клавишу со стрелкой. Вы можете отформатировать шрифт, размер, стиль, цвет и т. Д. На вкладке «Главная» в группе «Шрифт».

После этого вы можете остановить запись. Перейдите на вкладку «Просмотр», нажмите кнопку «Макросы» и затем нажмите «Остановить запись».См. Рис. 7. (Примечание: кнопка «Остановить запись» (выглядит как квадрат) также будет в нижней части экрана в строке состояния в левом нижнем углу.)

Рисунок 7

Блок подписи, который я записал, показан на рисунке 8 ниже. Каждый раз, когда вы хотите снова запустить макрос в открытом документе, вы можете нажать на кнопку, которую вы сделали на панели инструментов быстрого доступа.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *