Разное

Ворд макрос: Создание и запуск макроса

Содержание

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

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

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

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

  2. org/ListItem»>

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

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

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

  5. org/ListItem»>

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

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

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

    .

  8. org/ListItem»>

    Теперь необходимо записать все шаги макроса. Выбирайте команды или нажимайте клавиши для каждого шага задачи. 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, а затем нажмите кнопку Копировать.

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

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

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

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

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

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

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

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

  1. org/ListItem»>

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

  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, необходимо отобразить вкладку Разработчик.

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

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

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

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

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

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

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

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

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

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

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

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

    • org/ListItem»>

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

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

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

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

      3. org/ListItem»>

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

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

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

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

      7. org/ListItem»>

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

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

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

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

      2. org/ListItem»>

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

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

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

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

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

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

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

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

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

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

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

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

  6. org/ListItem»>

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

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

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

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

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

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

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

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

    org/ItemList»>
  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 с помощью средства чтения с экрана

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

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

Примечания: 

  • Новые возможности Microsoft 365 становятся доступны подписчикам Microsoft 365 по мере выхода, поэтому в вашем приложении эти возможности пока могут отсутствовать. Чтобы узнать о том, как можно быстрее получать новые возможности, станьте участником программы предварительной оценки Office.

  • Дополнительные сведения о средствах чтения с экрана см. в статье о работе средств чтения с экрана в Microsoft Office.

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

  • org/ListItem»>

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

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

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

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

 Создание макроса, назначенного кнопке

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

  2. org/ListItem»>

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

  3. Чтобы при желании написать описание макроса, нажимая клавишу TAB, пока не услышите слово «Описание», и введите описание.

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

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

  6. Чтобы добавить кнопку макроса на панель быстрого доступа, нажимая клавишу TAB, пока не услышите «Панель быстрого доступа, элемент», нажимая клавишу СТРЕЛКА ВНИЗ, пока не услышите «Обычный, новые макрос», а затем — имя нового макроса, а затем нажмите клавиши ALT+A.

  7. Чтобы назначить значок кнопке макроса, нажмите клавиши ALT+M. Откроется меню значков. Нажимая shift+TAB, пока не услышите первый значок и положение значка в списке всех значков. Нажимая клавишу СТРЕЛКА ВНИЗ, пока не услышите нужный значок, а затем нажмите клавишу ВВОД, чтобы выбрать его. Нажимая клавишу TAB, пока не услышите слово «ОК», а затем нажмите клавишу ВВОД. Когда все будет готово, нажимая клавишу TAB, пока не услышите слово «ОК», а затем нажмите клавишу ВВОД. Окно Настройка панели быстрого доступа закроется, а фокус вернется в текст документа.

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

  9. Если вам нужно приостановить запись, нажмите ALT+W, M, P. Чтобы возобновить запись, нажмите ALT+W, M, R, R.

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

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

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

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

  3. Чтобы при желании написать описание макроса, нажимая клавишу TAB, пока не услышите слово «Описание», и введите описание.

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

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

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

  7. Когда все будет готово, нажимите клавишу TAB, пока не услышите слово «Назначить», а затем нажмите клавишу ВВОД. Затем нажимая клавишу TAB, пока не услышите слово «Закрыть», а затем нажмите клавишу ВВОД. Фокус вернется в текст документа.

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

  9. Если вам нужно приостановить запись, нажмите ALT+W, M, P. Чтобы возобновить запись, нажмите ALT+W, M, R, R.

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

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

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

  1. Чтобы запустить макрос, сделайте следующее:

    • Чтобы выбрать макрос в диалоговом окне Макрос, нажмите клавиши ALT+W, M, V. Нажимая клавишу СТРЕЛКА ВНИЗ, пока не услышите нужный макрос, нажмите клавишу ВВОД.

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

    • Чтобы использовать назначенную макросу кнопку, перейдите к кнопке и нажмите клавишу ВВОД. Например, если кнопка находится на панели быстрого доступа, нажимая клавишу F6, пока не услышите «Вкладки ленты», один раз нажмите клавиши SHIFT+TAB, нажимая tab или SHIFT+TAB, пока не услышите имя кнопки макроса, а затем нажмите клавишу ВВОД.

Word выполняет действия, записанные в макросе.

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

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

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

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

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

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

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

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

Корпорация Майкрософт стремится к тому, чтобы все наши клиенты получали наилучшие продукты и обслуживание. Если у вас ограниченные возможности или вас интересуют вопросы, связанные со специальными возможностями, обратитесь в службу Microsoft Disability Answer Desk для получения технической поддержки. Специалисты Microsoft Disability Answer Desk знакомы со многими популярными специальными возможностями и могут оказывать поддержку на английском, испанском, французском языках, а также на американском жестовом языке. Перейдите на сайт Microsoft Disability Answer Desk, чтобы узнать контактные сведения для вашего региона.

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

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

Набор возможностей текстового редактора Microsoft Word действительно очень широк. С помощью этой программы можно решать множество задач, которые возникают при работе с текстовыми документами любой направленности, что и делает этот продукт таким популярным. В Word реализована даже небольшая среда для программирования, с помощью которой можно значительно облегчить себе работу. В самом редакторе это называется макрокомандой или, как называют чаще, макросом. К сожалению, многие пользователи избегают знакомства с эти инструментом, ошибочно полагая, что это что-то сложное и не особо нужное. В этой статье подробно рассмотрим, как создать макрос в Word, что это вообще такое и почему вы делали неправильно, не пользуясь макрокомандами. Давайте разбираться. Поехали!

Что это такое

Макрокоманда — это, по сути, небольшая программа, которая позволяет автоматизировать и облегчить работу с текстом. В большинстве продуктов Microsoft реализована функция, сохраняющая историю действий пользователя, наиболее часто используемые инструменты и прочее. Всё это можно перевести в формат команд, и вместо того, чтобы каждый раз делать одно и то же, вы просто нажмёте клавишу на клавиатуре, и Word всё сделает за вас. Удобно? Ещё бы! На самом деле, это совсем не сложно. Далее в статье по порядку о том, как создать макрос.

Макросы позволяют выполнять несколько основных функций. Они предназначены для реализации следующих задач:

  • Ускоряют часто выполняемые процедуры и операции внутри текстового редактора Word. Это относится к редактированию, форматированию и не только.
  • Объединяют несколько команд в цельное действие «от и до». Как пример, используя макрос, можно простыми движениями моментально вставить таблицу, которая будет иметь определённые заданные размеры, а также получит нужное число столбцов и строк.
  • Упрощают получение доступа к некоторым функциям и инструментам для работы с текстом, графиков и пр. При этом они могут располагаться в разных окнах и разделах программы.
  • Автоматизируют сложные последовательные операции и действия.

Последовательность используемых макросов может быть создана буквально с нуля. Для этого потребуется ввести соответствующий код в редактор Visual Basic.

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

Алгоритм действий при создании команды следующий:

  • Определить порядок действий.
  • Выполнить.
  • Записать действия в макрос.

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

Допустим, нужная вторая колонка. Перемещение между столбцами таблицы осуществляется при помощи клавиши «Tab». Вы нажимаете «Tab» необходимое количество раз, пока не дойдёте до нужной колонки. Затем, если вам нужно выделить часть содержимого ячейки, снимаете выделение, нажав стрелку влево. Далее выделим два слова из ячейки. Выполните комбинацию Ctrl+Shift и нажмите стрелку вправо дважды (либо столько раз, сколько слов необходимо выделить). И последний шаг — сделать выделенную область полужирной с помощью комбинации Ctrl+B.

Теперь, определившись с порядком действий, запишите макрокоманду. Для этого, перейдите на вкладку «Вид» и отыщите в панели инструментов кнопку «Макросы». Кликнув по ней, вы увидите маленькое меню, в котором нужно выбрать пункт «Записать макрос». В появившемся окне введите название для команды и нажмите на кнопку «Записать». Сразу после этого, возле курсора появится иконка с кассетой, свидетельствующая о том, что началась запись. Выполните чётко по порядку все необходимые действия (в этом примере для выделения полужирным шрифтом нескольких слов из ячейки таблицы). После того как вы всё сделали, нажмите на значок «Стоп» (квадратик) в нижней части окна программы. Всё, макрос готов.

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

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

Алгоритм действий можно представить в таком виде:

  • В зависимости от того, какая версия текстового редактора Word используется, откройте вкладку «Разработчик» или «Вид», где располагается кнопка «Макросы». Нужно просто кликнуть по пункту «Запись макроса».
  • У каждого макроса должно быть своё имя. Его можно задать сугубо на собственное усмотрение. Это на его функциональность никак влиять не будет.
  • Если дать макросу точно такое же имя, как и у стандартных макросов в программе Word, он будет выполнять его функции вместо основного. Поэтому не поленитесь заглянуть в меню «Макросы» и открыть раздел «Команды Word». Здесь прописаны все стандартные названия.
  • В строке, которая называется «Макрос доступен для» нужно выбрать, для чего именно он будет доступен.
  • В графу с описанием нужно ввести собственное описание создаваемого макроса.
  • Далее можно кликнуть на «Начните запись», либо же «Создайте кнопку». В первом случае запись макроса начнётся без его привязки к кнопке на панели управления или клавиатуре. Во втором макросу будет задана соответствующая клавиша или кнопка.
  • Добавьте один или несколько документов, куда следует добавить новый макрос. Это делается через «Параметры Word» во вкладке «Панель быстрого доступа».
  • В левом окне выберите нужный макрос для записи и кликните по кнопке «Добавить».
  • Для изменения настроек этой кнопки всегда есть возможность кликнуть на «Изменить».
  • Далее выбирайте символ, который хотите использовать для кнопки.
  • Укажите имя. Именно оно будет затем отображаться в соответствующем поле.
  • Дважды кликните ОК, чтобы начать запись макроса.
  • Когда потребуется остановить запись, жмите соответствующую клавишу в меню «Макросы».

Записанный макрос в дальнейшем можно будет использовать на своё усмотрение.

Использование макросов

Как же всё это использовать? А очень просто: в панели инструментов нажмите кнопку «Макросы» и одноимённый пункт в появившемся меню — перед вами откроется список всех макросов. Выберите сохранённый вами и нажмите «Выполнить». Существует более удобный вариант — создать специальную кнопку в панели инструментов. Делается это следующим образом: перейдите в меню «Файл», затем «Параметры» и кликните по пункту «Панель быстрого доступа». В разделе «Выбрать команды из:» укажите «Макросы» и выберите из них требуемый. После этого кликните по кнопке «Добавить». Также вы можете назначить иконку, которая будет отображаться для этой кнопки. Готово. В ленте инструментов появится соответствующая иконка, нажатием на которую вы запустите записанный вами алгоритм действий.

Создать макрокоманду можно практически для чего угодно. Можно изменять абзацный отступ, межстрочные интервалы, выровнять области текста, выполнить расчёт заданных значений, или настроить автоматическое заполнение таблицы. Нажмите «Записать макрос» и кликайте мышкой, вызывая соответствующие меню и задавая необходимые значения. Только не выделяйте текст мышкой, для этого лучше использовать горячие клавиши или специальный инструмент программы. Как только всё будет сделано, остановите запись.

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

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

Создание макроса и работа с ним [BS Docs 4]

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

    • Начало создания макроса

      • Макрос для отчетов формата Word

      • Макрос для отчетов формата Excel

    • Макрос «ПослеВыполненияОтчета»

    • Название привязки для макроса

    • Работа с таблицами

    • Определение направления формирования отчета

    • Работа со ссылками в отчетах для HTML

    • Работа с копией отчета, содержащим макрос

    • Обращение к данным из базы

      • Обращение к параметрам объекта

      • Использование механизма OLE

    • Несколько задач в одном макросе

    • Отладка кода

    • Примеры решения задач с использованием макросов

    • Ресурсы по VBA

Для обеспечения корректного построения отчетов, содержащих макросы, требуется установить доверие на доступ к объектной модели VBA.

В Microsoft Word 2007 это осуществляется следующей последовательностью действий:

  • нажать кнопку Office в верхнем левом углу, нажать кнопку «Параметры Word»;

  • выбрать закладку «Центр управления безопасностью», нажать кнопку «Параметры центра управления безопасностью»;

  • выбрать закладку «Параметры макросов», в разделе «Параметры макросов для разработчика» установить опцию «Доверять доступ к объектной модели проектов VBA».

В Microsoft Word 2010/2013/2016:

  • выбрать пункт меню «Файл → Параметры…»;

  • в окне «Параметры Word» выбрать закладку «Центр управления безопасностью», нажать кнопку «Параметры центра управления безопасностью»;

  • выбрать закладку «Параметры макросов», в разделе «Параметры макросов для разработчика» установить опцию «Доверять доступ к объектной модели проектов VBA».

Примечание

VBA — Visual Basic for Applications (Visual Basic для приложений) — упрощённая реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office.

Макрос для отчетов формата Word

Для того, чтобы создать или просмотреть макрос для отчета формата Word необходимо:

  • на ленте «Разработчик» в группе «Код» нажать кнопку «Visual Basic» (или сразу нажать Alt+F11). Откроется окно приложения «Microsoft Visual Basic for Application»;

  • В окне «Project – TemplateProject» в дереве открыть узел «TemplateProject — Microsoft Word Objects – ThisDocument»;

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

Рисунок 1. Вид окна среды VBA при работе с макросом для отчетов формата Word

Если макроса там не будет, его можно создать самостоятельно, введя в данном окне строки начала и конца макроса, а между ними — сам текст макроса:

Sub ПослеВыполненияОтчета(ob As Variant, app As Variant)

<Текст макроса>

End Sub

Внимание!

В Word 2007 закладка «Разработчик» по умолчанию скрыта. Чтобы вывести ее на показ необходимо:

  • запустить MS Word;

  • на закладке «Основные» в разделе «Основные параметры работы с Word» установить опцию «Показывать вкладку «Разработчик» на ленте»

Макрос для отчетов формата Excel

Для того, чтобы создать или просмотреть макрос для отчета формата Excel, необходимо:

  • в MS Excel на ленте «Разработчик» в группе «Код» нажать кнопку «Visual Basic» (или сразу нажать Alt+F11). Откроется окно приложения «Microsoft Visual Basic for Application»;

  • В правой части окна приложения, где приведен код, необходимо перейти к макросу «ПослеВыполненияОтчета».

Рисунок 2. Вид окна среды VBA при работе с макросом для отчетов формата Excel

Внимание!

В Excel 2007 закладка «Разработчик» по умолчанию скрыта. Чтобы вывести ее на показ необходимо:

  • запустить MS Excel;

  • на закладке «Основные» в разделе «Основные параметры работы с Excel» установить опцию «Показывать вкладку «Разработчик» на ленте»

Любой отчет изначально содержит следующий макрос:

Sub ПослеВыполненияОтчета(ob As Variant, app As Variant)
' MsgBox "MACRO ПослеВыполненияОтчета" + CStr(ob. Название)
End Sub

Этот макрос будет запускаться после вставки данных в отчет. Он используется в отчетах баз данных, поставляемых с программой. Код по обработке отчета следует вставлять в этот макрос.

Переменные, которые передаются в макрос:

  • «ob» − объект, от которого был вызван отчет;

  • «app» − приложение, от которого был вызван отчет, то есть Business Studio.

Внимание!

Просмотреть объектную модель Word для разработки макросов в редакторе Visual Basic можно по клавише F2.

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

  1. Знать название привязки.

  2. Связать переменные в коде VBA с этим названием.

Ниже описано, как это это делается для привязок разных типов.

Тип привязки: Объект

В отчете такие привязки представлены полями.

Узнать название в шаблоне отчета: см. статью Руководство пользователя → Пример определения названия привязки типа «Объект».

Использование названия привязки в коде:

 
ПеременнаяВКоде = Application.ActiveDocument.Variables.Item("НазваниеПривязки").Value

Тип привязки: Список и Фильтр

В отчете такие привязки представлены таблицей.

Узнать название в шаблоне отчета: см. статью Руководство пользователя → Пример определения названия привязки типа «Список».

Использование названия привязки в коде:

  
Set ТаблицДляОбработки = Application.ActiveDocument.Bookmarks("НазваниеПривязки").Range.Tables(1)

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

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

Работа с таблицей через название привязки

 'переменная для работы с конкретной таблицей
Set Table = Application. ActiveDocument.Bookmarks("НазваниеПривязки").Range.Tables(1)
countColumn = Table.Columns.Count 'количество столбцов таблицы
countRow = Table.Rows.Count 'количество строк таблицы
СellText  = Table.Cell(2,1).Range.Text 'значение ячейки во 2й строке 1го столбца
 

Работа с таблицей через её номер в документе

сountTables = ActiveDocument.Tables.Count 'количество таблиц в документе
Selection.GoTo What:=wdGoToTable, Which:=wdGoToFirst, Count:=5, Name:="" 'перейти к таблице номер 5
countColumn  = Selection.Tables(1).Columns.Count 'количество столбцов таблицы
countRow = Selection.Tables(1).Rows.Count 'количество строк таблицы
СellText  = Selection.Tables(1).Cell(2,1).Range.Text 'значение ячейки во 2й строке 1го столбца
 

При работе с таблицами следует помнить ряд моментов:

  • Таблицы могут содержать объединенные ячейки. В случае перебора всех строк таблицы может возникнуть ошибка. Чтобы этого не было, необходимо использовать команду игнорирования ошибки:

On Error Resume Next ' игнорирование <error 5991> - ячейки таблицы имеют вертикальное объединение
 
  • При получении текста таблицы следует помнить, что полученное значение ячейки так же содержит в себе 2 служебных символа. Для обработки данных ячейки без этих служебных символов следует произвести «очистку» значения. Например:

СellText = Selection.Tables(1).Cell(3,2).Range.Text 'текст ячейки со служебными символами
СellText = Left$(СellText, (Len(CellText) - 2)) 'убираем 2 последних символа ячейки - чистый текст
 

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

Один и тот же отчет Business Studio может рассматриваться из разных мест:

  • одиночный документ Word или Excel или несколько документов,

  • HTML-публикация,

  • Business Studio Portal.

При рассмотрение такого отчета в разных местах есть свои нюансы. Например, отчеты в HTML-публикации и Business Studio Portal не содержат колонтитулов, которые есть в отчете, сделанным отдельным документом Word.

Также могут быть и разные задачи по обработке отчета кодом в зависимости от направления формирования отчета. Для определения направления формирования отчета используются параметры: BSInThread, BSHtml и BSPortal.

Направление формирования отчета BSInThread BSHtml BSPortal
Одиночный файл (Word, Excel) False False False
Пакетное формирование (Word, Excel) True False False
HTML-публикация True True False
Business Studio Portal True True True

Таблица 1. Значения специальных переменных в зависимости от направления формирования отчета

Пример использования в коде:

Dim HTMLCreate As Boolean
HTMLCreate = Application.ActiveDocument.Variables("BSHtml").Value 'True или False
If HTMLCreate Then
     MsgBox "Выводим для HTML: HTML-публикация или Business Studio Portal"
Else
     
     MsgBox "Выводим в одиночный файл или потоком файлов"     
End If
Примечание

При формировании отчета типа HTML (HTML-публикация, Business Studio Portal) так же происходит формирование и отдельного файла типа Word.

При обработке кодом VBA отчета, сформированного для HTML-публикации или Business Studio Portal, следует помнить, что после формирования отчет представляет собой отображение не тех данных, что видны в браузере, а документ с показом кодов полей. Это не позволяет вести обработку гиперссылок.

Для «нормализации» отображения данных следует сначала использовать следующий код:

ActiveWindow.View.ShowFieldCodes = Not ActiveWindow.View.ShowFieldCodes 'Alt+F9 - видим не коды пол

При копировании отчета названия всех привязок изменяются.

Рисунок 3. Названия привязок в исходном отчете

Рисунок 4. Названия привязок в копии отчета

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

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

Пример проверки наличия привязки типа «Список». В документе это закладки.

Определяем название привязки типа «Список», которая представляет нужную таблицу (см. Руководство пользователя → Пример определения названия привязки типа «Список»).

BookmarkName = "Изменения_процесса_e1ded8b0" 'название привязки
        'Проверка на корректность названия привязки
        Dim BookmarkIs As Boolean 'сначала считаем, что нужной закладки нет
        Dim Bkm As Bookmark 'переменная типа Закладка
        For Each Bkm InActiveDocument.Bookmarks 'перебираем все закладки в документе
            IfBkm.Name = BookmarkName Then 'если нашли закладку с нашим именем
                BookmarkIs = True 'отмечаем, что закладка есть
                'получаем таблицу по названию привязки 
                Set SettableStatus = Application.ActiveDocument.Bookmarks(BookmarkName).Range.Tables(1)
            End If
        Next
If BookmarkIs Then 'если в документе закладка есть
    
   'производим необходимые действия c таблицей
End If

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

Пример проверки наличия привязки типа Объект

Определяем название привязки типа «Объект», которая представляет нужное поле в отчёте (см. статью Руководство пользователя → Пример определения названия привязки типа «Объект»).

VarName = "Статус_процесса_c9a10e8d" 'название привязки
      'Проверка наличия указанной привязки в документе
        Dim VarIs As Boolean 'сначала считаем что привязки нет
        'перебираем все переменные документа
        For Each aVar In ActiveDocument.Variables
            If aVar.Name = VarName Then 'если среди них есть с нашим именем
                VarIs = True 'отмечаем это
                'получаем значение переменной по названию привязки 
                MyVar = Application.ActiveDocument.Variables.Item(VarName).Value 
            End If
        Next aVar
If VarIs Then 'если в документе привязка есть
     'производим необходимые действия с переменной
End If
Примечание

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

Из отчета можно напрямую обращаться к данным из базы бизнес-модели. Это делается двумя способами:

  1. Через обращение к параметрам объекта, от которого был вызван отчет.

  2. Через использование механизма OLE.

Обращение к параметрам объекта

Обращение к параметрам объекта, от которого был вызван отчет, происходит таким образом:

ob.<СистемноеНазваниеПараметра>,

где

  • «ob» — объект, от которого был вызван отчет;

  • <СистемноеНазваниеПараметра> − это системное название параметра объекта, которое можно просмотреть в Объектной модели (см. Руководство пользователя → Объектная модель).

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

   Name = ob.Название  'получаем Название объекта, от которого вызвали отчет 
 

Использование механизма OLE

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

Описание механизма OLE подробно описано в главе Руководство технического специалиста → Работа с Business Studio через OLE. Для задействования OLE в отчетах конкретной базы нет необходимости во включении опции «Разрешено использование OLE».

Внимание!

В отчетах при работе с OLE недоступны все методы класса «Система.OleApplication», поскольку в макросе «ПослеВыполненияОтчета» есть аргумент «app», который является приложением Business Studio, а не «Система.OleApplication».

Бывают ситуации, когда:

  1. В рамках одного отчета необходимо решить более чем одну задачу. Например, форматирование полей типа RTF и вставка столбца в таблицу.

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

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

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

Sub ПослеВыполненияОтчета(ob As Variant, app As Variant)
   Call Macros1
   Call Macros2
   'любые другие макросы 
End Sub
Sub Macros1 ()
   'В рамках этого макроса решается одна задача
End Sub
Sub Macros2 ()
   'В рамках этого макроса решается другая задача
End Sub

Если такие макросы имеют одинаковые части кода, то их тоже можно (и рекомендуется) выносить в отдельные макросы или функции в том же окне с ключевым макросом. Например, функция для определения присутствия в отчете необходимой привязки типа «Список» (см. Работа с копией отчета, содержащим макрос) может быть следующей:

Function BookmarkIs(BookmarkName As String) As Boolean
'Проверка на корректность названия привязки
Dim Bkm As Bookmark 'переменная типа Закладка
BookmarkIs = False 'сначала считаем, что нужной закладки нет
For Each Bkm In ActiveDocument. Bookmarks 'перебираем все закладки в документе
    If Bkm.Name = BookmarkName Then 'если нашли закладку с нашим именем
    
        BookmarkIs = True 'отмечаем, что закладка есть
        
    End If
 
Next
    
End Function

Использование этой функции из макроса может быть таким:

Sub MacrosN ()
BookmarkName = "НазваниеЗакладкиТипаСписок"
   
If BookmarkIs(BookmarkName) Then 'если в документе закладка есть
   'Выполняются необходимые действия
End If
End Sub

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

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

  • http://msdn.microsoft.com — Начало работы с VBA в MS Office

  • http://msdn.microsoft.com — Начало работы с VBA в Word 2010

  • http://msdn. microsoft.com — Начало работы с VBA в Excel 2010

  • http://google.com

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

Возможно, у вас есть ощущение, что тема макросов в Ворде достаточно маргинальная. Кто ими может пользоваться-то вообще? Ну, малварь делают иногда… Да и пишутся они на давно забытом VBA (Visual Basic for Applications, он же несколько урезанный Visual Basic 6 в интерпретируемом виде), фу!

Но на самом деле у многих ведь возникает потребность то какой-нибудь отчётик в ворде написать, то курсовую оформить, то резюме перед отправкой в компанию вашей мечты подправить… А у некоторых работа напрямую связана с Word. Часто различные системы документации предлагают экспорт в форматы doc или docx, которые нужны вашим заказчикам. И бывает, что документы после экспорта выглядят фигово, приходится их исправлять.

Работа в ворде нередко подразумевает выполнение каких-то однообразных повторяющихся действий, которые иногда (но далеко не всегда!) решаются грамотной настройкой стилей и их применением, а также использованием шаблонов. Как же автоматизировать всё остальное? Тут-то нам на помощь приходят те самые макросы.

Что же в них такого хорошего? Ну, например, они автоматически и достаточно быстро выполняют за вас однообразные действия. Могут что-то подсчитать, переформатировать документ, пометить аннотациями подозрительные места, — словом, всё, что запрограммируете. Могут даже в режиме реального времени что-то исправлять и о чем-то предупреждать, пока вы пишете документ. VBA в Word позволяет автоматизировать практически все действия, которые вы можете выполнить с документом вручную.

Макросы можно прикрепить как к конкретному документу (в чём для нас мало пользы, а для писателей троянов это единственная опция), так и к самому ворду, что позволяет применять макросы к любому документу, с которым вы работаете.

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

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

Чтобы начать писать или использовать макросы, сначала требуется убедиться, что в Word’е отображается панель «Разработчик» («Developer»). Если она у вас не отображается, следует зайти после создания нового документа в меню «Файл» («File») -> «Параметры» («Options») -> «Настроить ленту» («Customize Ribbon»), после чего найти там и установить флажок «Разработчик» («Developer»).

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

В открывшемся окне слева вы увидите два проекта: «Normal» и проект, относящийся к текущему открытому документу. Возможно, в проекте «Normal» у вас уже будет какой-то файл в каталоге «Modules». В любом случае, создайте новый модуль, кликнув правой кнопкой по проекту «Normal» и выбрав «Insert» -> «Module». 013 (что соответствует ASCII-коду перевода строки). Функция поиска будет выглядеть так:

Visual Basic

Private Function FindNextText(text As String, useWildcards As Boolean) Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = text .Forward = True .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = useWildcards .MatchSoundsLike = False .MatchAllWordForms = False .Wrap = wdFindStop End With Selection.Find.Execute FindNextText = Selection.Find.Found End Function

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

Private Function FindNextText(text As String, useWildcards As Boolean)

    Selection. Find.ClearFormatting

    Selection.Find.Replacement.ClearFormatting

    With Selection.Find

        .Text = text

        .Forward = True

        .Format = False

        .MatchCase = False

        .MatchWholeWord = False

        .MatchKashida = False

        .MatchDiacritics = False

        .MatchAlefHamza = False

        .MatchControl = False

        .MatchWildcards = useWildcards

        .MatchSoundsLike = False

        .MatchAllWordForms = False

        .Wrap = wdFindStop

    End With

    Selection.Find.Execute

    FindNextText = Selection.Find.Found

End Function

Давайте разберём, что тут происходит. Мы объявляем функцию с двумя параметрами. Первый имеет тип String — это текст для поиска, а второй Boolean говорит о том, нужно ли использовать символы подстановки (wildcards). Про них я поговорю позже. В следующих двух строках 2 и 3 мы очищаем форматирование для строки поиска и строки замены, если оно было задано пользователем. Word позволяет задать форматирование строки поиска/замены, а для нашей задачи это не требуется. Далее мы задаём набор параметров для объекта Selection.Find: выставляем неинтересные нам параметры в False, параметр Text — это текст, который мы хотим найти, а параметр MatchWildcards указывает на использование символов подстановки. Параметр Wrap говорит о том, следует ли продолжать поиск, когда мы дошли до той точки, с которой поиск начали, и у нас его значение установлено в wdFindStop, так как мы хотим остановиться, когда дойдём до конца документа, и не зацикливать поиск.

Вообще, всё это обилие свойств и объектов из объектной модели Word, Excel и PowerPoint (да, там тоже есть макросы) хорошо описано в MSDN. Например, вот тут перечислены свойства и методы объекта Find. Есть русская документация (скажем, эта страница), но она выполнена совершенно кринжовым машинным переводом, невозможно читать:

Есть совершенно смехотворные страницы:

В общем, лучше читайте на английском. 😀

Кроме того, все доступные объекты, их свойства и методы можно посмотреть прямо в редакторе VBA в самом Word’е. Для этого нужно нажать F2 или выбрать меню «View» -> «Object browser», что приведет к открытию браузера объектов (Object browser), в котором можно пролистать или поискать то, что вам доступно.

Но вернёмся к нашей функции. На строке 19 мы непосредственно выполняем поиск заданного текста с указанными параметрами. Строка 20 — эта конструкция, аналогичная return в си-подобных языках, указывает возвращаемое значение функции. Мы возвращаем булевое значение Selection.Find.Found, которое говорит о том, было ли что-то найдено.

Хочу заметить, что использование объекта Selection.Find и изменение его свойств заменит их значения и для пользователя. Например, если вы в Word искали что-то хитроумное с конкретно заданными параметрами, то выполнение макроса заменит ваши параметры поиска на те, которые мы задали в макросе. В идеале, их можно запомнить, а потом вернуть, но мы не будем так сильно заморачиваться, а просто всё за собой подчистим. Сделаем функцию, которая сбрасывает параметры в значения по умолчанию:

Visual Basic

Private Sub ClearFindAndReplaceParameters() With Selection.Find .ClearFormatting .Replacement.ClearFormatting .Text = «» .Replacement.Text = «» .Forward = True .Wrap = wdFindStop .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With End Sub

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Private Sub ClearFindAndReplaceParameters()

    With Selection. Find

       .ClearFormatting

       .Replacement.ClearFormatting

       .Text = «»

       .Replacement.Text = «»

       .Forward = True

       .Wrap = wdFindStop

       .Format = False

       .MatchCase = False

       .MatchWholeWord = False

       .MatchWildcards = False

       .MatchSoundsLike = False

       .MatchAllWordForms = False

    End With

End Sub

Обратите внимание, что это уже Sub, а не Function, потому что мы не хотим из этой процедуры возвращать никакое значение. Это аналог функции void в си-подобных языках.

Теперь нужно определить, как нам найти два или более последовательных перевода строки. Для этого нам и потребуются упомянутые ранее wildcards. Word поддерживает символы подстановки при поиске, и по своей функциональности они напоминают регулярные выражения. Кстати, вы можете ими пользоваться и без макросов из окна расширенного поиска:

Хорошее описание символов подстановки я нашел здесь, правда, на английском языке. 013]{2,}. Если всё окей, то вернём из функции этот самый wildcard как рабочий (строка 4). В противном случае произойдёт ошибка, но мы готовы её обработать: мы установили обработчик всех ошибок в строке 2. Нас перекинет на метку Err, и тут мы вернём wildcard, который пригоден для других ревизий Word (в котором запятая внутри фигурных скобок заменена на точку с запятой).

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

Visual Basic

Private Sub RemoveNextEnters() Selection.MoveStart wdWord, 1 If Selection.Range.Start <> Selection.Range.End Then Selection.Delete End Sub

Private Sub RemoveNextEnters()

    Selection.MoveStart wdWord, 1

    If Selection.Range.Start <> Selection.Range.End Then Selection.Delete

End Sub

Эта функция подразумевает, что вызывать её будут тогда, когда объект Selection указывает на найденные несколько переводов строки. В строке 2 перемещаем начало выделения (а в выделены у нас будут все найденные последовательные переводы строки) на один символ вперед, а затем в строке 3, если начало выделения не совпадает с его концом, удаляем его содержимое. Таким образом, если было выделено три перевода строки, мы отступаем вперед на 1 символ (оставляя один перевод строки нетронутым), а затем удаляем оставшиеся два.

Осталось написать последнюю функцию, которая будет всем управлять.

Visual Basic

Sub RemoveExcessiveEnters() Dim lineBreakSearchRegExp As String lineBreakSearchRegExp = GetLineBreakSearchRegExp() Selection.HomeKey Unit:=wdStory While FindNextText(lineBreakSearchRegExp, True) = True RemoveNextEnters Wend ClearFindAndReplaceParameters End Sub

1

2

3

4

5

6

7

8

9

10

Sub RemoveExcessiveEnters()

    Dim lineBreakSearchRegExp As String

    lineBreakSearchRegExp = GetLineBreakSearchRegExp()

    

    Selection. HomeKey Unit:=wdStory

    While FindNextText(lineBreakSearchRegExp, True) = True

        RemoveNextEnters

    Wend

    ClearFindAndReplaceParameters

End Sub

Здесь мы оперируем ранее написанными функциями. Сначала получаем текст регулярного выражения (wildcard’а) для поиска нескольких переводов строки подряд, затем вызовом HomeKey в строке 5 переходим в самое начало документа (перемещаем туда курсор), а затем в цикле ищем все интересующие нас места и удаляем излишние переводы строки. В конце сбрасываем параметры поиска на значения по умолчанию.

Вот и всё, макрос можно запускать! Обратите внимание, что все функции, кроме последней, мы пометили Private. Мы не хотим, чтобы их вызывали напрямую. Доступной для вызова снаружи будет только функция RemoveExcessiveEnters. Перед запуском макроса стоит убедиться, что макросы включены. Если вылазит такая панель, то нужно нажать «Включить содержимое» («Enable content»):

Если такой панели нет, то можно зайти в меню «Файл» («File») -> «Сведения» («Info») и включить макросы уже оттуда:

Вы можете включить макросы на время одного сеанса Word (это по умолчанию и происходит, если нажимаете «Включить содержимое»), так что после перезапуска Word макросы снова будут отключены. Для запуска макроса возвращаемся в Word на панель «Разработчик» и нажимаем кнопку «Макросы» («Macros»), выбираем наш макрос RemoveExcessiveEnters и нажимаем «Выполнить» («Run»). Разумеется, у вас должен быть открыт какой-нибудь подопытный документ, где имеются лишние переводы строк. В качестве бонуса наш макрос ещё и удалит пустые элементы списков, потому что они представляют из себя точно такие же несколько переводов строки подряд.

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

Макросы можно отлаживать через окно VBA, в котором мы писали макрос. Кликнув слева от строки кода, можно, как и в других средах разработки, поставить точку останова, а потом запустить макрос кнопкой «Run». Запустится та функция, на которой у вас находится курсор. Если вы поставите курсор на функцию с параметрами, то появится обычный запрос на выбор макроса для запуска, как при нажатии на кнопку «Макросы» в Word.

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

Код макроса можно скачать тут. Вы сможете его импортировать к себе в Word, кликнув правой кнопкой на «Normal» -> «Import file…» и выбрав загруженный файл.

P.S. Кстати, рекомендую создавать бэкапы своих макросов, экспортируя их куда-нибудь на диск. Даже лицензионный Word имеет свойство их иногда по какой-то причине удалять из шаблона Normal, в котором мы их создавали.

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

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

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

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

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

Разве макросы не опасны?

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

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

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

  • Открыв Word, перейдите на вкладку «Просмотр».
  • Щелкните стрелку вниз под значком макроса.
  • Найдите Запись макроса… Откроется новое окно.
  • В поле Имя макроса: введите значимое имя для макроса. Пробелы не допускаются. Используйте подчеркивание.
  • В раскрывающемся списке Сохранить макрос в: вы можете выбрать документы, в которых вы хотите использовать этот макрос. Если вы выберете Все документы (Normal.dotm), макрос будет доступен вам в каждом новом документе Word, который вы создаете с этого момента. Если вы выберете один документ, он будет применяться только к этому единственному документу. Обычно лучше выбрать «Все документы».
  • В поле Описание: введите, что делает макрос. Это простой макрос с описательным именем, но по мере того, как вы научитесь использовать макросы, вы будете выполнять более сложные задачи, поэтому описание всегда будет хорошей идеей.
  • Вы можете назначить макрос либо кнопке, которую вы создадите, с опцией кнопка или горячие клавиши, которые вы можете выбрать с опцией клавиатура. Для Word уже есть много горячих клавиш, так что это может быть вариант кнопка Он лучший. Найдите кнопка. Откроется новое окно под названием «Параметры Word».
  • Здесь вы назначите кнопку макросу на ленте Word. Выберите Настроить ленту.
  • В раскрывающемся меню выберите «Команды из: выбрать макросы». Это покажет нам наши макросы в области под ними.
  • Вам нужно где-нибудь на ленте поставить макрос. В этом примере выберите «Главная» в области основных вкладок. Затем выберите новую группу.
  • Выберите «Переименовать», чтобы дать ему осмысленное имя.
  • В окне «Переименовать» выберите один из значков, представляющих группу, а затем введите Мои макросы в поле Отображаемое имя.
  • Найдите «Okприменить это. Вы увидите изменение в области «Основные вкладки».
  • Выбрав новые макросы в области основных вкладок, выберите «Макрос». Normal.NewMacros.Insert_Signature.
  • Выберите Добавить, чтобы включить его в группу. Мои макросы.
  • Конечно, вы захотите его переименовать. Выбрав макрос в области основных вкладок, выберите переименовать…
  • В окне «Переименовать» выберите значок и введите простое имя в поле «Отображаемое имя».
  • Найдите «OkЧтобы осуществить изменение. Вы увидите изменение в области «Основные вкладки».
  • Найдите «Okпод областью «Основные вкладки», чтобы завершить создание кнопки для макроса.
  • Идите вперед и создайте любую коллекцию подписей, которую хотите. Добавьте скан своей подписи или другие фотографии. что вы хотите. Когда вы это сделаете, щелкните стрелку вниз под значком макроса.
  • Выберите Остановить запись. Это оно. Макрос создан Вставить подпись.
  • Проверьте это, найдя и нажав кнопку «Вставить подпись», которую вы создали на вкладке «Главная». Ваш блок подписи должен волшебным образом выглядеть именно так, как вы его создали.

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

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

  • Вам нужно получить доступ к вкладке разработчика, которая по умолчанию скрыта в Word. В правом верхнем углу Word выберите файл.
  • В левом нижнем углу выберите опции.
  • В открывшемся окне выберите Настройте ленту.
  • Справа найдите «Разработчик» и поставьте напротив него галочку.
  • Найдите Ok закрыть окно. Откроется вкладка «Разработчик».
  • Выберите вкладку Разработчик.
  • выберите значок Макросы.
  • Введите значащее имя в поле Имя макроса: Оставьте макросы в: как Normal. dotm Это применимо даже ко всем документам Word. Всегда вводите описание в области Описание :.
  • Найдите построить. Откроется средство разработки Microsoft Visual Basic для приложений.
  • Код, показанный в зеленых прямоугольниках ниже, уже должен быть там с некоторыми пробелами между ними. Скопируйте и вставьте в это место следующий код:
Dim s As Range
Dim numWords As Integer
Dim numSentences As Integer
numSentences = 0
numWords = 0
For Each s In ActiveDocument.Sentences
numSentences = numSentences + 1
numWords = numWords + s.Words.Count
Next
MsgBox “Average words per sentence” + Str(Int(numWords / numSentences)) + “. Less than 15 is best.”
  • Выберите кнопкутрудоустройствоПроверить код. Если он не работает должным образом, измените код, чтобы он работал так, как вы хотите.
  • кнопка выбора спасти И закройте окно разработки.
  • Создайте кнопку на ленте Word, используя тот же метод, который описан в инструкциях по записи макроса выше.
  • Найдите кнопку, которую вы только что создали, и проверьте ее.

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

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

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

Что еще я могу делать с макросами?

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

Источник

Создать или запустить макрос

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

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

  1. Щелкните Просмотр > Макросы > Запись макроса .

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

  3. org/ListItem»>

    Чтобы использовать этот макрос во всех новых документах, убедитесь, что в поле Store macro in указано All Documents (Normal.dotm) .

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

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

  6. org/ListItem»>

    Щелкните Изменить .

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

  8. Теперь пришло время записать шаги. Щелкайте по командам или нажимайте клавиши для каждого шага задачи. Word записывает ваши клики и нажатия клавиш.

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

  9. org/ListItem»>

    Чтобы остановить запись, нажмите Просмотр > Макросы > Остановить запись .

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

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

  1. Щелкните Просмотр > Макросы > Запись макроса .

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

  3. org/ListItem»>

    Чтобы использовать этот макрос во всех новых документах, убедитесь, что в поле Store macro in указано All Documents (Normal.dotm) .

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

  5. Введите комбинацию клавиш в поле Нажмите новую горячую клавишу .

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

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

  8. Щелкните Назначить .

  9. Теперь пришло время записать шаги. Щелкайте по командам или нажимайте клавиши для каждого шага задачи. Word записывает ваши клики и нажатия клавиш.

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

  10. Чтобы остановить запись, нажмите Просмотр > Макросы > Остановить запись .

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

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

  1. Щелкните Просмотр > Макросы > Просмотр макросов .

  2. org/ListItem»>

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

  3. Щелкните Выполнить .

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

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

  2. Щелкните Просмотр > Макросы > Просмотр макросов .

  3. Нажмите Органайзер .

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

  1. Щелкните Файл > Параметры > Настроить ленту .

  2. org/ListItem»>

    Под Выберите команды из , щелкните Макросы .

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

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

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

  1. Нажмите Добавить .

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

  3. Нажмите OK дважды.

  1. На вкладке Developer в группе Code нажмите Macros .

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

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

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

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

  4. Щелкните Создать , чтобы открыть редактор Visual Basic.

После открытия редактора Visual Basic вам может понадобиться дополнительная информация о работе с Visual Basic для приложений. Для получения дополнительных сведений щелкните Справка Microsoft Visual Basic в меню Справка или нажмите клавишу F1.

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

Примечание. Для работы с макросами в Office Word 2007 необходимо открыть вкладку Разработчик .

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

  2. Нажмите Популярные .

  3. org/ListItem»>

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

    Примечание. Лента — это компонент пользовательского интерфейса Microsoft Office Fluent.

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

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

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

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

    Важно:  Чтобы макрос был доступен во всех документах, обязательно нажмите Обычный.dotm .

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

  5. Выполните одно из следующих действий:

    • org/ListItem»>

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

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

      1. Нажмите кнопку .

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

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

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

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

      5. Под символом щелкните символ, который вы хотите использовать для своей кнопки.

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

      7. Нажмите OK дважды, чтобы начать запись макроса.

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

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

        org/ItemList»>
      1. Нажмите Клавиатура .

      2. В поле Commands щелкните макрос, который вы записываете.

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

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

  6. org/ListItem»>

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

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

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

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

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

  2. Щелкните Настроить .

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

  4. В категории , щелкните Макросы .

  5. В списке Macros щелкните макрос, который вы хотите изменить.

  6. org/ListItem»>

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

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

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

    Важно:  Чтобы макрос был доступен во всех документах, обязательно нажмите Обычный.dotm .

  9. org/ListItem»>

    Нажмите Закрыть .

  1. На вкладке Developer в группе Code нажмите Macros .

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

  3. Щелкните Выполнить .

    org/ItemList»>
  1. На вкладке Developer в группе Code нажмите Macros .

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

    Примечание. Если вы дадите новому макросу то же имя, что и у встроенного макроса в Office Word 2007, новые макрокоманды заменят встроенный макрос. Чтобы просмотреть список встроенных макросов, нажмите Word Commands в списке Macros in .

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

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

  4. Щелкните Создать , чтобы открыть редактор Visual Basic.

После открытия редактора Visual Basic вам может понадобиться дополнительная информация о работе с Visual Basic для приложений. Для получения дополнительных сведений щелкните Справка Microsoft Visual Basic в меню Справка или нажмите клавишу F1.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Настроить макрос Word.

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

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

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

C. Когда закончите, нажмите OK еще раз, чтобы выйти.

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

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

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

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

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

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

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

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

Макрос 1: Бланки компании

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

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

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

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

Запишите макрос для создания бланка компании.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

G. С курсором во второй колонке перед буквой O в Occupation перейдите к Table Tools и нажмите Макет > Группа размеров ячеек и установите ширину столбца таблицы > 1,2 дюйма.

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

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

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

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

Макрос 3: Создание пользовательских форматов книг

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

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

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

B. Выберите More Paper Sizes из раскрывающегося меню.

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

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

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

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

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

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

H. Из страниц > нескольких страниц выберите Обычный из раскрывающегося списка. Для Листов в брошюре выберите Все .

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

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

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

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

K. Затем выберите Параграф на вкладке Разметка страницы. Перейдите на вкладку Отступы и интервалы g.

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

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

N. На панели «Интервал» выберите «До» = 0; После = 0; Межстрочный интервал = Несколько; В = 1,25. И нажмите OK .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Откроется окно параметров Word.

  3. Перейдите на вкладку «Настроить ленту» слева.

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

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

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

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

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

  1. Включить вкладку «Разработчик» в параметрах Word.
  2. Перейдите на вкладку Разработчик .
  3. Нажмите кнопку Macro Security .

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

  4. Выберите правильный уровень безопасности.

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

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

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

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

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

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

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

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

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

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

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

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

  6. Щелкните Назначить .
  7. Нажмите Закрыть .

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

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

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

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

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

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

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

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

  1. Нажмите, где вы хотите запустить макрос.
  2. Перейдите на вкладку Разработчик .
  3. Нажмите кнопку Макросы .

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

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

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

Запускается выбранный макрос.

БЕСПЛАТНЫЙ краткий справочник

Нажмите, чтобы загрузить

Бесплатно для распространения с нашими комплиментами; мы надеемся, что вы рассмотрите наше платное обучение.

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

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

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

Содержание

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

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

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

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

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

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

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

    1. Вам необходим доступ к вкладке Разработчик , которая по умолчанию скрыта в Word. В верхнем левом углу Word выберите File .
    1. В левом нижнем углу выберите Options .
    1. В открывшемся окне выберите Настроить ленту .
    2. С правой стороны найдите Developer и поставьте напротив него галочку.
    3. Выберите OK , чтобы закрыть окно. Разработчик 9Теперь будет отображаться вкладка 0766.
    1. Выберите вкладку Разработчик .
    2. Нажмите кнопку Макросы .
    1. Введите значимое имя в Имя макроса: Оставьте макрос в: как Normal.dotm, чтобы он применялся ко всем документам Word. Всегда вводите описание в поле Описание: .
    2. Выбрать Создать . Откроется средство разработки Microsoft Visual Basic для приложений .
    1. Код, показанный в зеленых прямоугольниках ниже, уже должен быть там с некоторым пустым пространством между ними. Скопируйте и вставьте в это место следующий код:

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

    = 1 In ActiveDocument + numSentences numSentence1s 91
    numWords = numWords + s.Words.Count
    Next

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

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

    Мой макрос не работает при сохранении документа Word

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

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

    Что еще я могу сделать с макросами?

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

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

    Подпишитесь на YouTube!

    Вам понравился этот совет? Если это так, загляните на наш канал YouTube на нашем родственном сайте Online Tech Tips. Мы охватываем Windows, Mac, программное обеспечение и приложения, а также предлагаем множество советов по устранению неполадок и обучающих видеороликов. Нажмите на кнопку ниже, чтобы подписаться!

    Подписывайся

    Сравнение

    макросов Word и почему вы должны их использовать

    Автор: Команда eSoftware | 26 ноября 2019 г. | Microsoft Office

    В настоящее время в моде автоматизация, и на то есть веские причины. Мало того, что утомительно повторять одно и то же задание снова и снова, это также время, которое вам, вероятно, лучше потратить на что-то другое.
    Сегодня мы поговорим о функции в 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 и перейдите в папку, где находится выбранное изображение. Макрос всегда будет искать изображение в этой папке, как только вы примените его позже.

     

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

     

     

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

     

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

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

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

     

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

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

     

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

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

     

    Можете ли вы привести больше примеров?

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

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

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

    Связанные посты в блоге

    Теги
    Лучшие практики, информация о продукте, технический

    Word Macro Примеры и учебник VBA

    В этой статье

    • VBA PDF (бесплатные загрузки)
    • Word VBA VBA.
    • Выбрать/Перейти
    • Закладки
    • Документ
    • Columns
    • Font
    • Insert
    • Loops
    • Paragraph
  • Word VBA Macro Tutorial
  • Simple Word Macro Example
    • Word Macro Basics
  • Word Document Object
    • Application
  • Documents
      • ActiveDocument
      • ThisDocument
      • Переменные документа
    • Методы документа
      • Открыть документ
      • Create New Document
      • Save Document
      • Close Document
      • Print Document
  • Range, Selection, Paragraphs
    • Range
      • Set Range Text
    • Selection
      • Move Selection
    • Paragraphs
    • Word VBA Заключение
  • Примеры макросов Word
    • Часто задаваемые вопросы по Word VBA
      • Что такое макрос Word?
      • Есть ли в Word VBA?
      • Как использовать VBA в Word?

Добро пожаловать в наш Мега-руководство по Word VBA и макросам!

Эта страница содержит:

    1. Учебник по Word VBA в формате PDF (бесплатная загрузка)
    2. Word VBA «Шпаргалка», содержащая список наиболее часто используемых фрагментов кода Word VBA
    3. Полное руководство по Word VBA/макросам.
    4. Список всех наших руководств по макросам Word VBA с возможностью поиска

Вас также может заинтересовать наше интерактивное руководство по VBA для Excel. Хотя некоторые примеры/упражнения относятся к Excel VBA, большая часть содержимого является общей для всех VBA, и вам может быть полезно изучить такие понятия, как операторы If, циклы, окна сообщений и другие.


VBA PDF (бесплатная загрузка)

Загрузите наш бесплатный учебник по Microsoft Word VBA! Или учебные пособия по VBA для других программ Office!

Скачать


Примеры Word VBA «CheatSheet»

Ниже вы найдете простые примеры кода VBA для работы с Microsoft Word.

SELECT / перейдите к

BACKSPACE

Выбор. =wdCharacter, Count:=1

Вставить после

Selection.InsertAfter «text»

Начало строки

Selection. Homeekey Bind: = WDLine

Конец линии

Выбор. Эндейн. Unit:=wdLine, Extend:=wdExtend

Переместиться вверх по абзацу

Selection. MoveUp Unit:=wdParagraph, Count:=1

Переместиться вправо на один символ

Selection.MoveRight Unit:=wdCharacter, Count:=1

Переместиться на одну ячейку вправо в таблице

Selection.MoveRight Unit:=wdCell

Перейти к началу документа

Selection.HomeKey Unit:=wdStory

Перейти в конец документа

Selection.EndKey Unit:=wdStory

Перейти к странице 1

Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=”1″

Перейти к началу страницы

    Selection.GoTo What:=wdGoToBookmark, Name:=”\Page”
Selection.MoveLeft Unit:=wdCharacter, Count:=1

Вернуться к началу

закладки

Добавить

с Activedocument.bookmarks
.
n = ActiveDocument.Bookmarks.Count

Удалить

ActiveDocument.Bookmarks(«ИмяЗакладки»).Удалить

Существует?

Если ActiveDocument.Bookmarks.Exists(«BookmarkName») = True then
‘Сделайте что-нибудь
End If

Перейти к

Selection. GoTo What:=wdGoToBookmark, Name:=”BookmarkName”

Select

ActiveDocument.Bookmarks(“BookmarkName”). Select

Заменить текст

Selection.GoTo Whatmark, Name:=wdGoToBook :=»BookmarkName»
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.InsertAfter «New Text»
ActiveDocument.Bookmarks.Add Range:=Selection.Range, _
Name:=»BookmarkName»

Возврат наверх

Документ

Активировать

Документы(«Example.doc»). Активировать

Добавить в переменную

Затемнить документ как документ
Установить doc = Documents.Добавить

Добавить

Документы.Добавить

Добавить (из другого

) Documents.Add Template:=»C:\Forms\FormDoc.doc», _
NewTemplate:=False

Close

Documents(«Example.doc»). Close

Close – Save Changes

Documents(«Example .doc»). Закрыть SaveChanges:=wdSaveChanges

Закрыть — не сохранять

Documents(«Example.doc»). Закрыть SaveChanges:=wdDoNotSaveChanges

Закрыть — запрос на сохранение

Documents(«Example. doc»). Закрыть SaveChanges:=wdPromptToSaveChanges

Вернуться к началу

3 Сохранить столбец Как

Документы («Пример.doc»). Сохранить как («C:\Example\Example.doc»)

Сохранить

Документы («Пример.doc»). doc»). Защитить паролем: = «пароль»

Снять защиту

документов («Пример.doc»). Непротечный пароль: = ”пароль»

Количество страниц

Dim VarnumberPages As Variant
VarnumberPages = _
ActiveDocument.Content.Information (WDActiveNadDjustedPagenumber)

Printant.

. DOCKENTERNDADJUSTEDPAGENURM)

0002

DOCKERTINGINGENDADJUSTEDPAGENUME Example.doc”).Печать

Вернуться к началу

VBA Coding Made Easy

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

Узнать больше!!

Font

Размер

Selection. Font.Size = 12

BOLD

SELECTION.FONT.BOLD = TRUE

ITALICS

SELECTION.FONT.ITALIC = TRUE

UNDERNIC wdUnderlineSingle

Все прописные

Selection.Font.AllCaps = True

Color

Selection.Font.TextColor = vbRed

Name

Selection.Font.Name = «Abadi3»

20002 SPIPPRING

SELECTION.FONT.SubScript = true

SuperScript

Selection.Font.SuperScript = True

Highlight Color

Selection.Range.highlightColorIndex = WDYELLE

Style

SELECTION.STLYLEX = WDYELLON

Стиль

SELECTION.STLEYLERINDEX = WDYELLON

SELECTION.STLYLERINDEX = WDYELLON

SELECTION. Обычный»)

Вернуться к началу

Вставить

Вставить автотекст

Selection.TypeText Text:=”a3″
Selection.Range.InsertAutoText

Вставить код даты

Вставить файл

Selection.InsertFile («C:\Docs\Something.doc»)

Вставить разрыв страницы

Selection. InsertBreak Type:=wdPageBreak

Вставить символ абзаца

Selection.TypeText Text:=Chr$(182)

Insert Tab

Selection.TypeText Text:=vbTab

Insert Text

Selection.TypeText Text:=”Any Text”

Insert Type Paragraph

Selection.TypeParagraph

Insert Paragraph

23 Selection.90s0003

Вернуться к началу

Циклы

Делать до конца документа

Делать до тех пор, пока ActiveDocument.Bookmarks(«\Sel») = ActiveDocument.Bookmarks(«\EndOfDoc») Документы

Dim doc As Document
ForEach doc In Documents
‘Do Something
Next doc

Цикл по абзацам

Sub через абзацы
Dim i As Long, iParCount As Long
iParCount = iParCount = ActiveDocument.ForParagraphs
ActiveDocument.Paragraphs(i).Alignment = wdAlignParagraphLeft
Далее i

Вернуться к началу

Программирование на VBA | Генератор кода работает на вас!

Пункт

KeeplineStogether

Selection. paragraphformat.keeptogether = true

KeepWithNext

Selection.Paragraphformat.shipwithnext = True

Space. SpaceBefore = 0

Выравнивание Центра

Selection.paragraphformat.alignment = wdalignparagraphcenter

Выравнивание правого

Selection.paragraphformat.salignment = wdalignParagrAgrApright

Выравнивание левого

SELECTION.Paragraphformatm.lign.Lign.LIGNAPLECTERAPLECTER. = InchesToPoints(3.75)

Отступ справа

Selection.ParagraphFormat.RightIndent = InchesToPoints(1)

Межстрочный интервал

С Selection.ParagraphFormat
.LineSpacingRule = wdLineSpaceExactly
.LineSpacing = 12
End With

Цикл по всем абзацам

Подпункты по абзацам
Dim i As Long, iParCount = 1PagraphForu.Foru. iParCount
ActiveDocument.Paragraphs(i).Alignment = wdAlignParagraphLeft
Далее i

Вернуться к началу

 

Word VBA Macro Tutorial

Это руководство по использованию VBA с Microsoft Word. В этом руководстве вы узнаете, как написать простой макрос и взаимодействовать с документами, диапазонами, выделениями и абзацами.

Примечание. Если вы новичок в макросах/VBA, вам также может быть полезна эта статья: Как писать макросы VBA с нуля.

VBA — это язык программирования, используемый для автоматизации программ Microsoft Office, включая Word, Excel, Outlook, PowerPoint и Access.

Макросы — это блоки кода VBA, выполняющие определенные задачи.

Когда вы Запишите макрос , Word запишет код VBA в макрос, что позволит вам повторить ваши действия. Вы можете увидеть список всех доступных макросов из Вид > Макросы .

После записи макроса вы сможете редактировать макрос из списка макросов:

Когда вы нажимаете Edit , вы открываете редактор VBA . Используя редактор VBA, вы можете редактировать записанные макросы или писать макросы Word с нуля. Для доступа к редактору VBA используйте сочетание клавиш ALT + F11 или нажмите Visual Basic на ленте разработчика .

Пример простого макроса Word

Это простой пример макроса Word VBA. Он выполняет следующие задачи:

  • Открывает документ Word
  • Запись в документ
  • Закрывает и сохраняет документ Word.
 Sub WordMacroExample()

    'Открыть документ и назначить переменной
    Dim oDoc как документ
    Установите oDoc = Documents.Open("c:\Users\someone\NewDocument.docx")
    
    'Напишите доку
    Selection.TypeText "www.automateexcel.com"
    Selection.TypeParagraph
    
    'Сохранить и закрыть документ
    oDoc.Сохранить
    oDoc.Закрыть
    
Конец суб 

Основы работы с макросами Word

Весь код VBA должен храниться в рамках подобных процедур. Чтобы создать процедуру в VBA, введите «Sub WordMacroExample» (где «WordMacroExample» — имя желаемого макроса) и нажмите ENTER . VBA автоматически добавит скобки и End Sub.

Объект документа Word

При взаимодействии с Microsoft Word в VBA вы часто будете ссылаться на «Объекты» Word. Наиболее распространенные объекты:

Application Object — сам Microsoft Word

Document Object — документ Word

Range Object — часть документа Word

Selection Object — выбранный диапазон или положение курсора.

Автомакрос | Окончательная надстройка VBA | Нажмите для бесплатной пробной версии!

Приложение

Приложение является объектом «верхнего уровня». Через него можно получить доступ ко всем другим объектам в Word.

В дополнение к доступу к другим объектам Word можно применить настройки «уровня приложения»:

 Application.Options.AllowDragAndDrop = True 

Это пример доступа к «Выбору» «Windows(1)» в приложении:

 Application. Windows(1).Selection.Characters.Count 

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

 Selection.Characters.Count 

Documents
ActiveDocument

Часто у вас будет два или более документов, открытых в Word, и вам нужно будет указать, какой именно документ Word взаимодействовать с. Один из способов указать, какой документ использовать Активный Документ . Например:

 ActiveDocument.PrintOut 

… напечатает ActiveDocument. ActiveDocument — это документ в Word, который «имеет фокус»

Чтобы переключить ActiveDocument, используйте команду Activate:

 Documents("Example.docx").Activate 
ThisDocument

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

 ThisDocument.PrintOut 
Переменные документа

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

Вместо этого вы можете использовать переменные документа.

Этот макрос назначит ActiveDocument переменной, а затем распечатает документ, используя переменную:

 Sub VarExample()
    Dim oDoc как документ
    Установите oDoc = ActiveDocument
    oDoc.PrintOut
Конец суб 

Методы документа

Открыть документ

Чтобы открыть документ Word:

 Documents.Open "c:\Users\SomeOne\Desktop\Test PM.docx" 

открытие:

 Dim oDoc as Document
Set oDoc = Documents.Open("c:\Users\SomeOne\Desktop\Test PM.docx") 
Создать новый документ

Чтобы создать новый документ Word:

 Documents. Add 

Мы можем указать Word для создания нового документа на основе некоторого шаблона:

 Documents.Add Template:="C:\Program Files\Microsoft Office\Templates\MyTemplate.dotx" 

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

 Dim oDoc как документ
Установите oDoc = Documents.Add (Template:="C:\Program Files\Microsoft Office\Templates\MyTemplate.dotx") 
Сохранить документ

Чтобы сохранить документ:

 ActiveDocument.Save 

или Сохранить как:

 ActiveDocument.SaveAs FileName:= c:\Users\SomeOne\Desktop\test2.docx", FileFormat:=wdFormatDocument 
Закрыть документ

, чтобы закрыть документ и сэкономить изменения:

 Activedocument.close wdsavechanges 

или без сохранения изменений:

 Document 

767676767676776767676767676767676767676767676776776776776776776776776776776776767767767677676767677676767676776776767тели.

 ActiveDocument.PrintOut 

Диапазон, выделение, абзацы

Диапазон и выделение , вероятно, являются самыми важными объектами в Word VBA и, безусловно, наиболее часто используемыми.

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

Выделение относится к выделенному тексту (или другому объекту, например изображениям) или, если ничего не выбрано, к точке вставки.

Абзацы представляют собой абзацы в документе. Это менее важно, чем кажется, потому что вы не можете получить прямой доступ к тексту абзаца (вам нужно получить доступ к определенному диапазону абзаца, чтобы внести изменения).

Автомакрос | Окончательная надстройка VBA | Нажмите для бесплатной пробной версии!

Диапазон

Диапазон может быть любой частью документа, включая весь документ:

 Dim oRange As Range
Установите oRange = ActiveDocument. Content 

, или он может быть меньше одного символа.

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

 Dim oRange As Range
Установите oRange = ActiveDocument.Range.Words(1) 

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

В следующем примере мы сделаем первое слово второго абзаца полужирным:

 Dim oRange As Range
Установите oRange = ActiveDocument.Paragraphs(2).Range.Words(1)
oRange.Bold = True 
Установить текст диапазона

Чтобы установить текстовое значение диапазона:

 Dim oRange As Range
Установите oRange = ActiveDocument.Paragraphs(2).Range.Words(1)
oRange.Text = «Hello » 

(Совет: обратите внимание на пробел после «Hello». Поскольку объект слова включает пробел после слова, просто «hello» мы получим «Hellonext word»)

 

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

Изменить шрифт

 oRange.Font.Name = "Arial" 

Отображать в окне сообщения номер символов в определенном диапазоне

 MsgBox oRange.Characters.Count 

Вставить текст перед ним

 oRange.InsertBefore "это вставленный текст" 

Добавить сноску в диапазон

 ActiveDocument.Footnotes.Add Range:=oRange, _
Text:="Подробнее читайте на сайтеautomateexcel.com." 

Скопировать в буфер обмена

 oRange.Copy
Часто вам нужно перейти к тому, что относится к конкретному диапазону. Таким образом, вы можете начать его начало и конец
oRange.Start = 5
oRange.End = 50 

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

Selection

Selection даже более широко используется, чем Range , потому что с Selections проще работать, чем с Ranges , ЕСЛИ ваш макрос ТОЛЬКО взаимодействует с ActiveDocument.

Сначала выберите нужную часть документа. Например, выберите второй абзац в активном документе:

 ActiveDocument.Paragraphs(2).Range.Select 

Затем вы можете использовать объект выделения для ввода текста:

 Selection.TypeText "Некоторый текст" 

Мы можем ввести несколько абзацев ниже "Некоторый текст":

 Selection.TypeText "Некоторый текст"
Selection.TypeParagraph 

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

 If Selection.Type <> wdSelectionIP Then
    Выбор.Шрифт.Полужирный = Истина
Еще
    MsgBox "Вам нужно выделить текст."
End If 

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

Начало документа:

 Selection.HomeKey Unit:=wdStory, Extend:=wdMove 

Начало текущей строки:

 Selection.HomeKey Unit:=wdLine, Extend:=wdLine, Extend2 9001 Параметр Extend2 wdMove перемещает точку вставки. Вместо этого вы можете использовать wdExtend, который выделит весь текст между текущей точкой вставки. 

 Selection.HomeKey Unit:=wdLine, Extend:=wdExtend 
Переместить выделение

Наиболее полезным методом изменения положения точки вставки является перемещение. Чтобы переместить выделение на два символа вперед:

 Selection.Move Unit:=wdCharacter, Count:=2 

для перемещения назад используйте отрицательное число для параметра Count:

 Selection.Move Unit:=wdCharacter, Count:=-2 

Параметр Unit может быть wdCharacter , wdWord, wdLine и т. д. (для просмотра других используйте справку Word VBA).

Чтобы вместо этого переместить слова:

 Selection.Move unit:=wdWord, Count:=2 

 

С выделением легче работать (по сравнению с диапазонами), потому что оно похоже на робота, использующего Word, имитирующего пользователя-человека. Там, где точка вставки – произойдет какое-то действие. Но это означает, что вы должны позаботиться о том, где находится точка вставки! Это непросто после многих шагов в коде. В противном случае Word изменит текст в нежелательном месте.

 

Если вам нужно какое-то свойство или метод, недоступный в объекте Selection, вы всегда можете легко получить диапазон, связанный с выделением:

 Set oRange = Selection.Range 

СОВЕТ. с использованием диапазонов, но и намного медленнее (важно при работе с большими документами)

Paragraphs

Вы не можете напрямую использовать объект Paragraphs для изменения текста:

 ActiveDocument. Paragraphs(1).Text = "Нет, это будет не работает" 

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

 ActiveDocument.Paragraphs(1).Range.Text = "Теперь работает :)" 

Но вы можете напрямую изменить его стиль:

 ActiveDocument.Paragraphs(1). Style = "Normal" 

или измените форматирование на уровне абзаца:

 ActiveDocument.Paragraphs(1).LeftIndent = 10 

или, может быть, вы хотите сохранить этот абзац на одной линии со следующим абзацем:

 ActiveDocument.Paragraphs(1).KeepWithNext = True 

Сделать абзац центрированным:

 ActiveDocument.Paragraphs(1).Alignment = wdAlignParagraphCenter 

ОЧЕНЬ полезно назначить конкретный абзац объектной переменной. Если мы назначаем конкретный абзац переменной, нам не нужно беспокоиться, станет ли первый абзац вторым, потому что мы вставили один абзац перед ним:

 dim oPara as Paragraph
Установите oPara = Selection. Paragraphs(1) ‘здесь мы назначаем первый абзац текущего выбора переменной 

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

 Sub ParagraphExample()
    Dim oPara As Paragraph
    Установить oPara = ActiveDocument.Paragraphs(1)
    MsgBox oPara.Range.Text
    oPara.Range.InsertParagraphBefore 'Вставить абзац
    MsgBox oPara.Range.Text
End Sub 

Объект абзаца очень часто используется в циклах:

 Sub LoopThroughParagraphs()

    Dim oPara As Paragraph
    Для каждого oPara в ActiveDocument.Paragraphs
        'сделай что-нибудь с этим. Мы просто покажем
        'текст абзаца, если его стиль "Заголовок 4"
        Если oPara.Style = "Заголовок 4" Тогда
            MsgBox oPara.Range.Text
        Конец, если
    Следующий oPara

End Sub 

Учебное пособие по Word VBA Заключение

В этом учебном пособии рассмотрены основы Word VBA.

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

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