Как открыть vba в ворде
Некоторые приложения пакета Microsoft Office, такие как Word, Excel, Access, Outlook, позволяют использовать для решения пользовательских задач язык программирования Visual Basic for Applications (VBA).
Для того чтобы использовать возможности VBA, макросы, процедуры и надстройки, написанные на этом языке программирования, необходимо чтобы компонент Visual Basic для приложений был установлен вместе с приложениями пакета Microsoft Office.
Как проверить установлен ли Visual Basic для приложений?
Самый простой способ проверить наличие либо отсутствие установленного VBA это попробовать его запустить. Запустить VBA можно сочетанием клавиш Alt+F11 на клавиатуре, либо кнопкой "Visual Basic" на вкладке "Разработчик". По умолчанию вкладка "Разработчик" отключена во всех приложениях пакета Microsoft Office, поэтому предварительно ее нужно отобразить в настройках ленты.
Итак, если VBA установлен, то нажатие горячих клавиш либо кнопки "Visual Basic" на ленте приложения приводит к появлению окна редактора Visual Basic на экране монитора. Выглядит редактор примерно так, как показано на изображении ниже.
В случае, если окно редактора не появилось, то компонент Visual Basic для приложений необходимо установить.
Как установить Visual Basic для приложений?
Чтобы установить компонент пакета Visual Basic for Applications, необходимо нажать кнопку Пуск, зайти в Панель управления/Программы и компоненты, выбрать программу Microsoft Office и нажать кнопку "Изменить", либо запустить установочный файл Setup.exe.
Далее выбрать опцию "Добавить или удалить компоненты", в параметрах установки выбрать компонент Visual Basic для приложений и доустановить его.
VBA Excel. Начинаем программировать с нуля
В левой части редактора VBA расположен проводник проекта, в котором отображены все открытые книги Excel. Верхней строки, как на изображении, у вас скорее всего не будет, так как это – личная книга макросов. Справа расположен модуль, в который записываются процедуры (подпрограммы) с кодом VBA. На изображении открыт модуль листа, мы же далее создадим стандартный программный модуль.
После нажатия кнопки «Module» вы увидите ссылку на него, появившуюся в проводнике слева.
Первая программа на VBA Excel
Добавляем на стандартный модуль шаблон процедуры – строки ее начала и завершения, между которыми мы и будем писать свою первую программу (процедуру, подпрограмму).
- Откройте стандартный модуль двойным кликом по его ссылке в проводнике. Поместите в него курсор и нажмите кнопку «Procedure…» во вкладке «Insert» главного меню. Та же ссылка будет доступна при нажатии на вторую кнопку после значка Excel на панели инструментов.
В результате откроется окно добавления шаблона процедуры (Sub).
Имя процедуры может быть написано как на латинице, так и на кириллице, может содержать цифры и знак подчеркивания. Оно обязательно должно начинаться с буквы и не содержать пробелы, вместо которых следует использовать знак подчеркивания.
- Вставьте внутрь шаблона процедуры следующую строку: MsgBox "Привет" .
- Проверьте, что курсор находится внутри процедуры, и запустите ее, нажав клавишу «F5». А также, запустить процедуру на выполнение можно, нажав на треугольник (на изображении под пунктом меню «Debug») или на кнопку «Run Sub/UserForm» во вкладке «Run» главного меню редактора VBA Excel.
Работа с переменными
Чтобы использовать в процедуре переменные, их необходимо объявить с помощью ключевого слова «Dim». Если при объявлении переменных не указать типы данных, они смогут принимать любые доступные в VBA Excel значения. Комментарии в тексте процедур начинаются со знака «'» (апостроф).
Редактор Visual Basic в Excel
В этой главе даётся очень краткий обзор редактора Visual Basic в Excel. Если Вы любознательный читатель и хотите узнать еще больше информации о редакторе, то при желании без проблем найдете ресурсы с более подробным описанием.
Запуск редактора Visual Basic
Простейший способ запустить редактор Visual Basic в Excel – нажать комбинацию клавиш Alt+F11 (то есть нажать клавишу Alt и, удерживая её, нажать клавишу F11). После этого откроется окно редактора Visual Basic, как показано на картинке ниже. Имейте ввиду, что окно Excel остается открытым и находится позади окна редактора.
Окна редактора Visual Basic
В процессе работы в редакторе Visual Basic в Excel могут быть открыты различные окна. Управление окнами осуществляется в меню View, которое находится в верхней части окна редактора VBA. Ниже дано описание отдельных окон.
Окно проекта (Project)
Окно Project открывается в левой части редактора VBA (показано на картинке выше). В этом окне для каждой открытой рабочей книги создаётся проект VBA (VBA Project). Проект VBA – это набор всех объектов и модулей VBA, привязанных к текущей книге. Изначально в него входят:
Самостоятельно в проект можно добавить объекты Userform, Module и Class Module. Если Вы посмотрите на картинку выше, то увидите, что в проект VBA для книги Book1.xlsm добавлен объект Module с названием Module1.
Вот как можно создать новый объект Userform, Module или Class Module:
- В окне Project выберите рабочую книгу, в которую нужно добавить объект, и кликните по ней правой кнопкой мыши.
- В появившемся меню кликните Insert и в раскрывшемся меню выберите Userform, Module или Class Module.
Для каждого из описанных выше объектов предусмотрено специальное окно, в котором будет создаваться и храниться новый код VBA. Порядок при этом такой:
- Код, который относится к рабочей книге, должен быть введён в соответствующий объект ЭтаКнига (ThisWorkbook);
- Код, который относится к рабочему листу, должен быть введён в соответствующий объект Лист (Sheet);
- Код более общего характера должен быть введён в Module;
- Код для нового объекта должен быть введён в Class Module;
- Если нужно создать диалоговое окно для взаимодействия с пользователем, то можно использовать Userform.
Окно кода (Code)
Двойной щелчок мышью по любому объекту в окне Project открывает соответствующее окно Code, предназначенное для ввода кода VBA с клавиатуры. На одном из приведённых выше рисунков показано окно кода для Module1.
По мере ввода кода VBA в окно Code, редактор Visual Basic следит за правильностью ввода, ищет ошибки в коде и выделяет код, который требует исправления.
Окно свойств (Properties)
В окне Properties перечислены свойства объекта, который в момент создания (не в процессе выполнения программы) выделен в окне проекта. Эти свойства могут быть различными в зависимости от типа выделенного объекта (лист, книга, модуль и другие).
Окно отладчика (Immediate)
Окно Immediate можно отобразить в редакторе Visual Basic через меню View > Immediate Window или нажатием комбинации клавиш Ctrl+G. Это окно помогает при отладке кода. Оно выполняет роль области вывода для отладки выражений и позволяет вычислять отдельные выражения или выполнять строки кода по одной.
Окно переменных (Locals)
Чтобы открыть окно Locals, нажмите Locals Window в меню View редактора Visual Basic. В этом окне отображаются все переменные, объявленные в текущей процедуре. Окно делится на столбцы, в которых содержатся имя, значение и тип каждой переменной, и эта информация обновляется автоматически в ходе выполнения программы. Окно Locals очень полезно при отладке кода VBA.
Окно отслеживания (Watches)
Окно Watches также очень помогает при отладке кода VBA, так как в нём можно увидеть значение, тип и контекст любого отслеживаемого выражения, которое задаст пользователь. Чтобы открыть окно Watches, нажмите Watch Window в меню View редактора Visual Basic. Также окно Watches будет открыто автоматически, если задать отслеживаемое выражение.
Чтобы задать отслеживаемое выражение, нужно:
- Выделить выражение в редактируемом коде VBA.
- В меню Debug редактора VBA нажать Quick Watch.
- Нажать Add.
Кроме рассмотренных, в меню редактора Visual Basic в Excel существует ещё множество параметров и команд, используемых при создании, выполнении и отладке кода VBA.
необходимо явно разрешить доступ к системе проектов Visual Basic для приложений (VBA) в Microsoft Office, прежде чем можно будет создать или открыть Инструменты Visual Studio для Microsoft Office системного проекта.
Некоторые макровирусы Microsoft Office пытаются автоматизировать систему проектов Visual Basic для приложений как способ своего распространения. Разрешая доступ к системе проектов Visual Basic для приложений, вы отключаете средство защиты, которое позволяет предотвратить распространение макровирусов. Тем не менее, остаются стандартные средства обеспечения безопасности макросов: уровень безопасности макросов и список надежных издателей, поддерживаемый для приложений Office, помогут выявить выполнение макросов на компьютере.
Это касается только компьютера разработки. на компьютерах конечных пользователей этот параметр не требуется включать для запуска решений Office.
Важно отметить, что отключение доступа к системе проектов Visual Basic для приложений само по себе не защитит вас от вирусов, оно просто помогает предотвратить распространение некоторых вирусов в другие документы в случае заражения компьютера макровирусом. Эта возможность отключена по умолчанию, что обеспечивает дополнительный уровень защиты компьютера. Однако ее включение не делает ваш компьютер более подверженным атакам, если вы выполняете рекомендации по обеспечению безопасности.
лучшей защитой от Office макровирусов является запуск Office на высоком или очень высоком уровне безопасности, чтобы доверять макросам только из проверенных, известных источников и оставаться в курсе обновлений безопасности и сканеров вирусов.
можно включить или отключить параметр доверять доступ к Visual Basic Project вручную.
При появлении ошибок VBA или COM можно восстановить установку Office.
Интересуетесь разработкой решений, расширяющих возможности Office на нескольких платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office имеют небольшой объем по сравнению с надстройками и решениями VSTO, и их можно создавать с помощью практически любой технологии веб-программирования, такой как HTML5, JavaScript, CSS3 и XML.
включение и отключение доступа к Visual Basic проектам
Перейдите на вкладку Файл .
Щелкните Параметры.
щелкните центр управления безопасностью, а затем щелкните центр управления безопасностью Параметры.
в центре управления безопасностью щелкните макрос Параметры.
установите или снимите флажок доверять доступ к объектной модели проекта VBA , чтобы включить или отключить доступ к Visual Basic проектам.
включение и отключение доступа к Visual Basic проектам с помощью системы Microsoft Office 2007
в меню сервис в Word или Excel укажите пункт макрос, а затем выберите пункт безопасность.
В диалоговом окне Безопасность перейдите на вкладку Доверенные издатели .
выберите, чтобы включить или снять флажок отключить, доверять доступ к Visual Basic Project.
Настройка уровня безопасности макросов в Office
Перейдите на вкладку Файл .
Щелкните Параметры.
щелкните центр управления безопасностью, а затем щелкните центр управления безопасностью Параметры.
в центре управления безопасностью щелкните макрос Параметры.
в разделе Параметры макросов выберите нужный параметр.
настройка уровня безопасности макросов Office с помощью системы Microsoft Office 2007
в меню сервис в Word или Excel укажите пункт макрос, а затем выберите пункт безопасность.
На вкладке уровень безопасности выберите нужный параметр.
На вкладке уровень безопасности содержатся сведения о каждом уровне. Дополнительные сведения см. в разделе "Уровни безопасности макросов" справки Microsoft Office.
Установка VBA в выпуске 2007 системы Microsoft Office
На панели управления запустите элемент Установка и удаление программ или программы и компоненты.
выберите Office в списке установленные программы .
Выберите Добавить или удалить компоненты, а затем нажмите кнопку продолжить.
Выберите пункт Расширенная настройка приложений, а затем нажмите кнопку Далее.
разверните Office общие компоненты в списке выберите параметры обновления для приложений и средств .
откройте раскрывающееся меню рядом с Visual Basic для приложений, а затем выберите выполнить из Мой компьютер.
Восстановление установки Office
На панели управления запустите элемент Установка и удаление программ или программы и компоненты.
выберите версию Office в списке установленные программы .
Выберите переустановить или восстановить, а затем нажмите кнопку Далее.
выберите обнаружение и исправление ошибок в Office установки, а затем нажмите кнопку установить.
Некоторые приложения пакета Microsoft Office, такие как Word, Excel, Access, Outlook, позволяют использовать для решения пользовательских задач язык программирования Visual Basic for Applications (VBA).
Для того чтобы использовать возможности VBA, макросы, процедуры и надстройки, написанные на этом языке программирования, необходимо чтобы компонент Visual Basic для приложений был установлен вместе с приложениями пакета Microsoft Office.
Как проверить установлен ли Visual Basic для приложений?
Самый простой способ проверить наличие либо отсутствие установленного VBA это попробовать его запустить. Запустить VBA можно сочетанием клавиш Alt+F11 на клавиатуре, либо кнопкой "Visual Basic" на вкладке "Разработчик". По умолчанию вкладка "Разработчик" отключена во всех приложениях пакета Microsoft Office, поэтому предварительно ее нужно отобразить в настройках ленты.
Итак, если VBA установлен, то нажатие горячих клавиш либо кнопки "Visual Basic" на ленте приложения приводит к появлению окна редактора Visual Basic на экране монитора. Выглядит редактор примерно так, как показано на изображении ниже.
В случае, если окно редактора не появилось, то компонент Visual Basic для приложений необходимо установить.
Как установить Visual Basic для приложений?
Чтобы установить компонент пакета Visual Basic for Applications, необходимо нажать кнопку Пуск, зайти в Панель управления/Программы и компоненты, выбрать программу Microsoft Office и нажать кнопку "Изменить", либо запустить установочный файл Setup.exe.
Далее выбрать опцию "Добавить или удалить компоненты", в параметрах установки выбрать компонент Visual Basic для приложений и доустановить его.
Если у Вас возник вопрос «Как использовать макрорекордер для записи макроса в Word?» то эта статья для Вашего внимания. Здесь как раз поочередно рассматривается процесс запуска макрорекордера и записи макросов в различных версиях Word. Для лучшего понимания того, что будет происходить, определим задачу - записать макрос, который будет выделять весь текст документа.
Microsoft Word 2003
Запускаем приложение, открываем в нем текстовый файл, заходим в главное меню Сервис/Макрос и выбираем пункт «Начать запись…»
Выбираем пункт меню «Начать запись» и в появившемся окне "Запись макроса", выбираем имя будущему макросу (я оставлю то имя, которое ему присвоено по умолчанию «Макрос1») и место его хранения. Местом хранения может быть сам файл документа, а может быть глобальный шаблон Normal.dot, аналог личной книги макросов Personal.xls, которая есть в Excel. При необходимости присваиваем будущему макросу сочетание горячих клавиш, при нажатии которых будет происходить выполнение (запуск) макроса. В этом примере не будем присваивать макросу никаких сочетаний клавиш, поле с описанием оставим без изменений и местом для сохранения выберем файл Normal.dot. Идем дальше, нажимаем кнопку ОК.
Макрорекордер включен, началась запись всех наших действий и одновременный их перевод на язык программирования Visual Basic for Application, сокращенно VBA. В начале этой статьи мы задались целью записать макрос, выделяющий всю текстовую область, поэтому нашим действием будет выделение текста в открытом файле. Для этого можно зайти в главное меню "Правка" и выбрать там пункт "Выделить все", а можно тоже самое сделать нажатием сочетания горячих клавиш Ctrl+A. Прекращаем запись нажатием кнопки "Остановить запись", для этого переходим туда же, откуда эту запись начинали, то есть в меню Сервис/Макрос.
Ну вот и все! Наш макрос записан. Осталось только убедиться, что он работает и посмотреть как он выглядит (если кому интересно). Перед выполнением макроса снимем выделение с текста, или откроем новый текстовый файл, зайдем в меню Сервис/Макрос/Макросы либо нажмем сочетание клавиш Alt+F8 (это сочетание актуально для всех приложений любых версий), выберем из списка макрос с нашим названием «Макрос1» и нажмем кнопку «Выполнить». Хочу обратить Ваше внимание на то, что с помощью этого окна можно не только запустить макрос, также можно удалить, изменить программный код и внести изменения в описание.
В результате выполнения макроса получаем выделенный текст документа, именно то, чего мы и хотели. В этом примере мы записали одно единственное действие, но разумеется можно записывать любые последовательности действий, какими бы большими они не были. Может возникнуть ситуация, что записанный Вами макрос не запустился, особенно высока вероятность этого во время самого первого выполнения макроса. В этом случае Вам будет необходимо изменить параметры системы безопасности.
Чтобы просмотреть записанный нами макрос в виде программного кода, нужно запустить редактор Visual Basic через меню Сервис/Макрос/Редактор Visual Basic, либо нажатием сочетания клавиш Alt+F11 (это сочетание тоже актуально во всех версиях всех приложений). В открывшемся окне редактора видим проект Normal и в этом проекте новый модуль Module1, в котором и сохранен программный код нашего макроса.
Microsoft Word 2007
В окне приложения MS Word 2007 кнопку «Начать запись…» можно отыскать сразу в нескольких местах. Во-первых, это левый нижний угол экрана, как показано на рисунке ниже
Во-вторых, на ленте главного меню, на вкладке "Вид"
и наконец в-третьих, на специальной вкладке "Разработчик", где собраны все инструменты для работы с макросами. Вкладка "Разработчик" отключена по умолчанию, поэтому для использования этой вкладки ее необходимо предварительно отобразить на ленте.
Во время записи кнопка "Запись макроса" изменяет свое назначение на "Остановить запись" а также становится активной кнопка "Пауза", приостанавливающая запись макроса.
Выполнение макроса и просмотр его программного кода осуществляется абсолютно аналогично описанию из предыдущего раздела, поэтому я не буду повторяться, а перейду к Microsoft Word 2010. Не забываем об изменении настроек системы безопасности, если вдруг записанный Вами макрос не запускается.
Microsoft Word 2010
Если Вы перешли на приложения пакета MS Office 2010 после версии 2007, то кнопки "Запись макроса" и "Остановить запись" в версии Word 2010 будут расположены в привычных уже местах. Нахождение этих кнопок идентично предыдущей версии текстового редактора - это все тот же левый нижний угол экрана и две вкладки на ленте - "Вид" и "Разработчик" (подробнее о них написано в предыдущем разделе Microsoft Word 2007).
Сам процесс записи, просмотра и выполнения записанного макроса также полностью повторяет предыдущую версию. После установки офисного пакета 2010, я обнаружил, что по умолчанию редактор Visual Basic отсутствует, пришлось шагнуть назад и доустановить этот недостающий компонент. Называется он "Visual Basic для приложений" и находится в отдельном компоненте пакета под названием "Общие средства Office", так что не пугайтесь, если кнопка записи при первом на нее нажатии никак не среагировала на Ваши действия. Если же запись прошла успешно, но возникла проблема при запуске макроса, то скорее всего это связано с настройками системы безопасности.
В приложениях Microsoft Word и Microsoft Excel макросы запускаются одинаково. Существует несколько способов, которыми можно запустить макрос в этих приложениях, но для того чтобы этими способами воспользоваться необходимо знать имя макроса и место, в котором он сохранен. Большая часть рассмотренных ниже способов запуска макросов может быть использована и в других приложениях, таких как Outlook, PowerPoint и др.
Как запустить макрос из редактора Visual Basic ?
Для того чтобы запустить макрос, необходимо открыть приложение, для которого он написан. Из открытого приложения перейти в редактор VisualBasic сочетанием клавиш Alt+F11 (Alt с левой стороны клавиатуры). В обозревателе проектов (окно ProjectExplorer по умолчанию находится в левом верхнем углу редактора) найти проект, а в проекте модуль, в котором записан макрос. Двойной клик левой кнопкой мыши по выбранному модулю отображает все макросы (процедуры, функции), которые в нем хранятся. Остается отыскать макрос с нужным именем, установить курсор в любое место между ключевыми словами Sub и End Sub, после чего нажать кнопку Run Sub в меню редактора либо кнопку F5 на клавиатуре.
Как запустить макрос из приложения?
Чтобы запустить макрос из приложения, для которого он написан, прежде всего, необходимо открыть приложение, затем нажать сочетание клавиш Alt+F8 на клавиатуре, в диалоговом окне «Макрос» отыскать нужный макрос по имени, навести на него курсор и нажать кнопку «Выполнить», либо дважды кликнуть по имени левой кнопкой мыши.
Как запустить макрос горячими клавишами?
Можно назначить макросу горячие клавиши, в этом случае запускаться макрос будет сразу после нажатия заданной комбинации клавиш на клавиатуре. В разных приложениях, а также в разных версиях этих приложений сочетание клавиш может присваиваться по-разному, но принцип одинаков для всех.
Microsoft Excel
Вызывается диалоговое окно «Макрос» сочетанием клавиш Alt+F8, выделяется имя макроса, нажимается кнопка «Параметры» и задается сочетание клавиш.
Microsoft Word
На ленте выбирается меню «Файл»/«Параметры»/«Настройка ленты», в поле «Сочетание клавиш» нажимается кнопка «Настройки», после чего любому макросу можно изменить текущее сочетание либо присвоить новое.
Как запустить макрос из панели быстрого доступа?
В версиях Microsoft Office 2007 и выше есть так называемая панель быстрого доступа, которая может располагаться как над, так и под лентой. В настройках панели быстрого доступа есть пункт меню «Другие команды». Если в поле «Выбрать команды из:» из выпадающего списка выбрать пункт «Макросы», навести курсор на имя какого-либо макроса и нажать кнопку «Добавить», в панели быстрого доступа появится иконка, нажатие на которую будет запускать макрос. В окне настроек панели быстрого доступа можно изменить отображаемое имя макроса, которое всплывает при наведении курсора мыши на иконку, а также можно изменить изображение на кнопке, выбрав одну из предложенных картинок. И в Word и в Excel эта возможность реализована одинаково.
Как запустить макрос из другого макроса?
Предположим, что существует макрос (процедура) с именем Name1, который необходимо запустить из другого макроса (процедуры) с именем Test.
Макросы находятся в одном модуле
В программном коде макроса Test необходимо вписать имя макроса (процедуры) который должен быть запущен, то есть Name1
Макросы находятся в одном проекте, но в разных модулях
Если макрос Test расположен в модуле Module1, а макрос Name1 находится в модуле Module2, но в пределах одного проекта, то в программном коде необходимо вписать имя модуля и сразу за ним поставить точку, после этого вписать имя макроса (процедуры) вручную либо выбрать из списка всплывающей подсказки, чтобы получилось Module2.Name1
Макросы находятся в разных проектах
Читайте также: