Poldet1.ru

Пул Дет №1
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

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

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

Программа Microsoft Word 2007 делает это следующим образом:

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

В Microsoft Word 2010/2013/2016:

Примечание

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

Часто ли вы выполняете повторяющиеся задачи в приложениях Microsoft Office? Вы можете автоматизировать любую последовательность команд, выбрав пункт меню или нажав комбинацию клавиш. Для этого используются макросы, которые повторяют ваши действия. Это позволяет экономить время. Макросы создаются на языке программирования VBA, но вам не нужно быть программистом, чтобы написать свой собственный макрос. В этой статье мы покажем вам, как это сделать в MS Word и Excel.

Концепция макросов

Использование макросов в Microsoft Office
Рис. 1. Главное окно библиотеки

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

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

Технология Macro поддерживается большинством профессиональных программных продуктов, среди которых: AutoCAD, Adobe Photoshop, 3D Studio Max, Microsoft Office и др.

Поддержка макросов в Microsoft Office

MS Office предлагает два способа создания макропрограмм: непосредственно вводить текст (процедуры VBA) в редакторе VBA или использовать встроенный инструмент создания сценариев. Первый вариант предназначен для опытных пользователей, программистов или интеграторов и позволяет создавать полнофункциональные дополнения, функции и модули. Второй вариант исключительно прост и предназначен для новичков, поскольку не требует знания принципов программирования на VBA или синтаксиса команд.

Использование макросов в Microsoft Office
Рис. 2. Создание фотогалереи для Web-сайта

Автоматическое создание макросов осуществляется так же, как и запись на обычный диктофон, только вместо звука записываются нажатия клавиш и действия мыши. Последовательность действий следующая: запустить запись, выполнить все операции, которые должен выполнить макрос, и остановить запись. Макросу необходимо дать уникальное имя, описание (необязательно) и заранее указать параметры записи — они различаются в разных MS Office, но в общем случае их два: запись макроса в текущий документ (он не будет доступен в других документах) или в саму библиотеку макросов или шаблон (он будет доступен для всех файлов в этом приложении). Библиотеку макросов можно перенести на другой компьютер и подключить к соответствующему приложению MS Office, при этом макропрограмма, хранящаяся в файле, копируется и переносится вместе с ним.

Читайте так же:
Как преобразовать уравнение в изображение в Word?

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

При записи автоматически генерируется текст макропрограммы – процедура VBA. Желающим научиться самостоятельно создавать более мощные и гибкие макросы непосредственно в редакторе будет очень полезно изучить последовательность сгенерированных команд VBA. Для этого нужно нажать сочетание Alt+F8, выбрать из списка соответствующий макрос и нажать кнопку Изменить.

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

Макросы для Microsoft Word

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

Давайте рассмотрим простой пример. Его оценят многие пользователи, которые хотя бы раз работали с текстами в Word. Часто бывает, что при наборе текста или после сканирования и распознавания текста между словами появляются лишние пробелы. Ручное удаление их, даже небольших фрагментов, может занять много времени. Используя диалоговое окно «Найти и заменить», это можно сделать с помощью 6-7 щелчков мыши и набора небольшого текста. Созданный макрос способен заменить все совпадения с двумя или более последовательными пробелами одним нажатием клавиши.

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

  1. В MS Word 2007 перейдите на вкладку Вид, найдите меню Макросы, нажмите в нем раскрывающееся меню Макросы, после чего выберите команду Запись макроса, как показано на рис. 1. Для MS Word 2003: Сервис -> Макрос -> Начать запись…
  2. В появившемся диалоговом окне Запись макроса введите имя создаваемой макропрограммы. Оно должно быть уникальным, отражать смысл макроса и не содержать пробелов. Назовем наш макрос ЛишниеПробелы. В графе Макрос доступен для выберите место сохранения – для всех документов либо только для текущего. Выбираем первый вариант. Далее в графе Описание вкратце укажите, для чего предназначен макрос.
  3. После этого в том же диалоговом окне нажмите одну из кнопок Назначить макрос кнопке (панели для версии 2003) или Назначить макрос клавишам. При выборе первого варианта откроется окошко, из которого в MS Word 2003 название данного макроса можно перетащить на панель инструментов или на любое меню (сделать его пунктом этого меню), а работая в Word 2007, нажав кнопку Добавить, можно поместить вызов макропрограммы в панель быстрого доступа. Если же вы предпочитаете запускать макрос сочетанием клавиш, выберите второй вариант, укажите желаемую комбинацию и нажмите OK. Назначим нашему макросу сочетание клавиш Ctrl+Alt+Пробел.
  4. Запись начата. Теперь вызываем диалог Найти и заменить. Для этого на вкладке Главная в меню Редактирование нажимаем кнопку Заменить. Для 2003 версии: Правка -> Заменить…
  5. В окне Найти и заменить в поле Найти пишем: «<2;>». Эта запись означает – искать 2 или более пробелов подряд. А в графе Заменить на ставим один пробел. После этого нажимаем на кнопку Больше для указания особых параметров поиска. Укажите Направление – везде и снимите галочки со всех опций, кроме Подстановочные знаки. Если эта опция не была установлена, выберите ее. Параметры замены должны быть указаны, как на рис. 2, затем нажмите кнопку Заменить все.
  6. После того как будет выдано сообщение о результатах замены, нужно остановить запись макропрограммы. Для этого нажмите на кнопку Остановить запись (значок- квадратик), которая находится в строке состояния, если вы работаете в Word 2007, и Сервис -> Макрос -> Остановить запись для Word 2003.

Макрос записан. Теперь при нажатии Strl+Alt+Space в текущем документе лишние пробелы будут удаляться автоматически.

Макросы для Microsoft Excel

Макропрограммы Microsoft Excel можно использовать для создания и печати отчетов, применения специального форматирования к выбранным диапазонам ячеек, импорта данных, автоматического создания диаграмм, написания собственных программ расчета таблиц и т.д.

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

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

  1. Создайте новую книгу или откройте существующую. Используйте описанный выше метод, чтобы назвать, сохранить в личной книге макросов (не только в текущей книге), комбинацию клавиш (по желанию) и начать запись макроса. Нажмите Ctrl+F, чтобы выделить все ячейки рабочего листа. Нажмите кнопку Формат на главной вкладке меню Ячейки и выберите пункт Автоконтроль ширины (если вы работаете в MS Office 2007), или сделайте это из меню Формат -> Столбец -> Автоконтроль ширины (для MS Excel 2003). Поместите курсор обратно в ячейку A1, чтобы снять выделение.
  2. Остановить запись (аналогично остановке записи макроса в Word).

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

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

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

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

Макросы и безопасность

Несколько советов для пользователей макросов:

  1. Настройте свою антивирусную программу на сканирование документов MS Office, содержащих макросы, в фоновом режиме (многие антивирусные программы делают это по умолчанию).
  2. Выберите опцию Отключить макросы при открытии документов, содержащих макросы, загруженные из Интернета или полученные из сомнительных источников.
  3. Не изменяйте без необходимости макросы по умолчанию и параметры безопасности приложений MS Office.

Определите рекомендуемые параметры для Word или Excel 2007: Кнопка Office -> Параметры Word Excel -> Центр управления безопасностью -> Параметры центра управления безопасностью -> Параметры макросов, выберите Отключить все макросы с уведомлением. Для пользователей предыдущей версии: Инструменты -> Параметры -> Безопасность -> Защита макросов, выберите Средний или Высокий.

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

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

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

  1. В левом нижнем углу выберите пункт Параметры.

  1. В открывшемся окне выберите Настроить ленту.
  2. Справа найдите Developer и поставьте рядом с ним галочку.
  3. Выберите ОК, чтобы закрыть окно. Откроется вкладка «Разработчик».

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

  1. Введите значащее имя в поле Имя макроса: оставьте макрос в: как Normal.dotm, чтобы он применялся ко всем документам Word. Всегда вводите описание в поле Описание :.
  2. Выберите «Создать». Откроется средство разработки Microsoft Visual Basic для приложений.

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

Dim s As Диапазон
Dim numWords As Integer
Dim numSentences As Integer
numSentences = 0
numWords = 0

Для каждого s в ActiveDocument.Sentences
numSentences = numSentences + 1
numWords = numWords + s.Words.Count
следующий

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

  1. Нажмите кнопку «Выполнить», чтобы проверить код. Если он работает некорректно, отредактируйте код, пока он не будет работать так, как вы хотите.

  1. Нажмите на кнопку «Save» и закройте окно разработки.

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

Как отключить макросы в Word?

В последней версии Microsoft Word макросы автоматически отключаются. Макросы по умолчанию отключены в более новых продуктах Office (2016 и более поздних).

В Microsoft Office Word 2007 необходимо удалять макросы вручную. Для этого необходимо использовать клавиши быстрого доступа для просмотра макросов.

  1. Используйте Alt + F8, чтобы открыть вкладку Макросы.
  2. В диалоговом окне Макросы выберите макрос, который нужно удалить, и нажмите кнопку Удалить в правой части окна.
  1. Нажмите Да в диалоге подтверждения, чтобы удалить макрос.

delete_macro_confrmation_dialog

Затем повторите процесс для всех макросов в документе.

Если вы часто пользуетесь макросами в MS Excel, то уверен, у вас не раз возникал вопрос: «Как быстро запустить написанный макрос?». Можно привязать горячую клавишу, например. Так же мы расскажем, как сделать так, чтобы макрос был доступен из любого файла Excel и можно было сделать быстрый запуск макроса в Excel.

Если вы не знаете о чем идет речь, то советую прочитать специальную статью . Если коротко, макрос — это список действий, записанных при помощи «языка» VBA. Очень удобно записать такую последовательность, если вы часто выполняете одни и те же операции (их можно записать специальным инструментом — макрорекордером ). Макрос будет выполнять их при нажатии одной кнопки .

Где посмотреть полившийся макрос и запустить его?

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

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

Включается он несложно — заходим в левую, верхнюю кнопку Параметры Excel — раздел Основные — в правом окне ставим галочку Показывать вкладку Разработчик на ленте

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

Запуск макроса можно осуществить нажатием второй кнопки слева Макросы.

Появится окно, в котором можно выбрать макрос

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

Выбираем нужный — жмем выполнить.

Запуск макроса в Excel. Горячие клавиши

Окно выбора макроса можно открыть с помощью сочетания клавиш Alt + F8. Доступ к окну редактирования макроса можно получить с помощью комбинации клавиш Alt + F11.

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

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

В данном случае ctrl + Y.

Автозапуск макроса при открытии книги

На панели Разработчик нажмите кнопку Просмотр кода или Alt + F11 для вызова окна редактирования макроса.

У вас будет открыт VBA. Макрос (особенно созданный с помощью макрорекордера) будет расположен в отдельном разделе модуля слева.

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

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

Скопируйте тело макроса из правого окна (между Sub и End Sub).

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

Выберите ThisBook в левой панели (дважды щелкните левой кнопкой мыши).

Как запустить макрос Эксель при открытии файла

В верхних панелях выберите Workbook и Mark, чтобы активировать макрос Open (откроется книга).

Вставьте скопированный текст макроса из модуля между Private Sub и End Sub. Сохраните его. Закройте VBA.

Готово! Макрос будет запускаться при открытии книги.

Не забудьте сохранить рабочую книгу с поддержкой макросов ( xlsm или xlsb ).

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

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

  • Activate — при активации книги (при переходе из другого окна в эту книгу);
  • Deactivate — при переходе в другую книгу;
  • BeforeClose — перед закрытием книги;
  • BeforePrint — перед печатью книги;
  • BeforeSave — при сохранении книги;
  • NewSheet — при создании нового листа книги.

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

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

  • SheetActivate — при активации листа книги;
  • SheetDeactivate — при переходе на другой лист книги;
  • SheetCalculate — при пересчете формул на листе;
  • SheetBeforeDoubleClick — перед двойным кликом мыши;
  • SheetBeforeRightClick — перед кликом правой кнопкой мыши;
  • SheetChange — при изменение на листе

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector