Vba word как запускать программу по кнопке
Перейти к содержимому

Vba word как запускать программу по кнопке

  • автор:

Vba word как запускать программу по кнопке

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

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

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

1. Щелкните там, где вы хотите использовать кнопку, а затем нажмите Ctrl + F9 нажмите клавишу, чтобы вставить пару фигурных скобок, а затем введите приведенный ниже текст между фигурными скобками, см. снимок экрана:

MACROBUTTON имя макроса Двойной щелчок для запуска макроса

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

2. Затем щелкните правой кнопкой мыши код поля и выберите Переключить коды полей из контекстного меню см. снимок экрана:

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

4. В Границы и заливка В диалоговом окне укажите нужный стиль границы и цвет заливки. Смотрите скриншот:

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

Назначение комбинации клавиш для запуска макроса, или VBA-программы

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

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

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

Назначение комбинации клавиш для запуска программы в MS Word

Чтобы назначить горячие клавиши для вызова макроса (VBA-программы) в Word нужно:

  1. В меню Файл выбрать команду Параметры. В открывшемся окне Параметры Word перейти в раздел Настроить ленту и кликнуть по кнопке Настройка, которая находится в нижней части окна.
  2. В результате перед вами появится окно Настройка клавиатуры. В списке Категория этого окна нужно выбрать значение Макросы. А после этого, в списке Макросы отметить имя нужного макроса (или программы).
  3. Установить курсор в поле Новое сочетание клавиш и нажать комбинацию клавиш, которую вы хотите назначить данному макросу (или программе). Эта комбинация отобразится в поле Новое сочетание клавиш и всё что вам останется – это нажать на кнопку Назначить. Комбинация перенесётся в поле Текущие сочетания.
  4. Окно Настройка клавиатуры можно закрывать, но чтобы изменения вступили в силу нужно обязательно нажать ОК в окне Параметры Word.

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

Рисунок 1. Параметры Word

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

Рисунок 2. Настройка клавиатуры

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

Назначение комбинации клавиш для запуска программы в MS Excel

Чтобы назначить горячие клавиши для вызова макроса (VBA-программы) в Excel нужно:

  1. Перейти на вкладку Вид на Ленте приложения.
  2. В группе Макросы выбрать команду Макросы, или нажать комбинацию клавиш <Alt+F8>.
  3. В появившемся диалоговом окне Макрос выбрать имя нужного вам макроса и нажать на кнопку Параметры.
  4. Теперь, в окне Параметры макроса, вы можете назначить комбинацию клавиш для выполнения макроса.

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

Рисунок 3. Сочетание клавиш для запуска макроса в Excel

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

Рисунок 4. Окно Макрос в Excel

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

Рисунок 5. Параметры макроса в Excel

Если вы хотите назначить комбинацию клавиш с применением кнопки Shift, то нужно установить курсор в поле Сочетание клавиш и удерживая зажатой клавишу Shift нажать нужную вам клавишу на клавиатуре. Теперь для вызова макроса будет использоваться комбинация клавиш вида <Ctrl+Shift+назначенная вами клавиша>.

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

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

Angry word helper

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

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

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

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

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

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

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

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

Enable Word developer tab

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

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

Word insert new module

Созданный модуль представляет из себя файл, куда мы и будем писать код макросов. Можно переименовать модуль (по умолчанию его имя будет «Module1») в окне «Properties» -> «Name». Я назову свой модуль «AllMacros». Теперь откроем код модуля, дважды кликнув по его имени, и приступим к созданию макроса. Напомню, что наша цель — заменить два и более последовательных перевода строки на единственный, произведя замены по всему документу. Очевидно, нам потребуется функция, которая осуществляет поиск по тексту, ведь мы хотим найти несколько последовательных переводов строки. В Word это эквивалентно началу нового параграфа. Вы могли бы осуществить поиск начала нового параграфа через обычное окно поиска, введя в поле поиска ^p , ^13 или ^013 (что соответствует ASCII-коду перевода строки). Функция поиска будет выглядеть так:

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

В приложениях 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, выделяется имя макроса, нажимается кнопка «Параметры» и задается сочетание клавиш.

как присвоить горячие клавиши макросу в Excel

Microsoft Word

На ленте выбирается меню «Файл»/«Параметры»/«Настройка ленты», в поле «Сочетание клавиш» нажимается кнопка «Настройки», после чего любому макросу можно изменить текущее сочетание либо присвоить новое.

goryachie klavishi v word

Как запустить макрос из панели быстрого доступа?

В версиях Microsoft Office 2007 и выше есть так называемая панель быстрого доступа, которая может располагаться как над, так и под лентой. В настройках панели быстрого доступа есть пункт меню «Другие команды». Если в поле «Выбрать команды из:» из выпадающего списка выбрать пункт «Макросы», навести курсор на имя какого-либо макроса и нажать кнопку «Добавить», в панели быстрого доступа появится иконка, нажатие на которую будет запускать макрос. В окне настроек панели быстрого доступа можно изменить отображаемое имя макроса, которое всплывает при наведении курсора мыши на иконку, а также можно изменить изображение на кнопке, выбрав одну из предложенных картинок. И в Word и в Excel эта возможность реализована одинаково.

Как запустить макрос из другого макроса?

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

Макросы находятся в одном модуле

В программном коде макроса Test необходимо вписать имя макроса (процедуры) который должен быть запущен, то есть Name1

Макросы находятся в одном проекте, но в разных модулях

Если макрос Test расположен в модуле Module1, а макрос Name1 находится в модуле Module2, но в пределах одного проекта, то в программном коде необходимо вписать имя модуля и сразу за ним поставить точку, после этого вписать имя макроса (процедуры) вручную либо выбрать из списка всплывающей подсказки, чтобы получилось Module2.Name1

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

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