Содержание
- Области использования макросов:
- Включение макросов
- Запись макросов
- Изменение комбинаций клавиш для макроса
- Запуск макроса
- Создание нового макроса
- Вопросы и ответы
Макрос — это набор определенных действий, команд и/или инструкций, которые сгруппированы в одну целостную команду, обеспечивающую автоматическое выполнение той или иной задачи. Если вы активный пользователь MS Word, вы тоже можете автоматизировать часто выполняемые задачи, создав для них соответствующие макросы.
Именно о том, как включить макросы в Ворд, как их создавать и использовать для упрощения, ускорения рабочего процесса и пойдет речь в этой статье. И все же, для начала не лишним будет более подробно разобраться в том, зачем вообще они нужны.
Области использования макросов:
- 1. Ускорение часто выполняемых операций. В числе таковых форматирование и редактирование.
2. Объединение нескольких команд в целостное действие “от и до”. Например, с помощью макроса можно вставить таблицу заданного размера с необходимым количеством строк и столбцов.
3. Упрощение доступа к некоторым параметрам и инструментам, расположенным в различных диалоговых окнах программы.
4. Автоматизация сложных последовательностей действий.
Последовательность макросов может быть записана или создана с нуля путем введения кода в редактор Visual Basic на одноименном языке программирования.
Включение макросов
По умолчанию макросы доступны не во всех версиях MS Word, точнее, они просто не включены. Чтобы активировать их необходимо включить средства разработчика. После этого на панели управления программы появится вкладка “Разработчик”. О том, как это сделать, читайте ниже.
Примечание: В версиях программы, в которых макросы доступны изначально (например, Ворд 2016), средства для работы с ними находятся во вкладке “Вид” в группе “Макросы”.
1. Откройте меню “Файл” (кнопка “Microsoft Office” ранее).
2. Выберите пункт “Параметры” (ранее “Параметры Word”).
3. Откройте в окне “Параметры” категорию “Основные” и перейдите в группе “Основные параметры работы”.
4. Установите галочку напротив пункта “Показывать вкладку “Разработчик” на ленте”.
5. На панели управления появится вкладка “Разработчик”, в которой и будет находиться пункт “Макросы”.
Запись макросов
1. Во вкладке “Разработчик” или, в зависимости от используемой версии Ворда, во вкладке “Вид”, нажмите кнопку “Макросы” и выберите пункт “Запись макроса”.
2. Задайте имя для создаваемого макроса.
Примечание: Если вы, создавая новый макрос, даете ему точно такое же имя, как у встроенного в программу, действия, записанные вами в новый макрос, будут выполняться взамен стандартным. Для просмотра макросов, доступных в MS Word по умолчанию, в меню кнопки “Макросы” выберите “Команды Word”.
3. В пункте “Макрос доступен для” выберите то, для чего он будет доступен: шаблон или документ, в который его следует сохранить.
- Совет: Если вы хотите, чтобы создаваемый макрос был доступен во всех документах, с которыми вы работаете в дальнейшем, выберите параметр “Normal.dotm”.
4. В поле “Описание” введите описание для создаваемого макроса.
5. Выполните одно из действий, указанных ниже:
- Нажмите “кнопке”;
- Выберите документ или документы, в которых требуется добавить создаваемый макрос на панель быстрого доступа (раздел “Настройка панели быстрого доступа”);
- Совет: Чтобы создаваемый макрос был доступен для всех документов, выберите параметр “Normal.dotm”.
В окне “Макрос из” (ранее “Выбрать команды из”) выберите макрос, который следует записать, нажмите “Добавить”.
- Если вы хотите настроить эту кнопку, нажмите “Изменить”;
- Выберите подходящий символ для создаваемой кнопки в поле “Символ”;
- Введите имя макроса, которое будет отображаться в дальнейшем в поле “Отображаемое имя”;
- Для начала записи макроса дважды кликните по кнопке “ОК”.
Символ, который вы выбрали, будет отображаться на панели быстрого доступа. При наведении указателя курсора на этот символ, будет отображаться его имя.
- Кликните по кнопке “Клавишами” (ранее “Клавиатура”);
- В разделе “Команды” выберите макрос, который необходимо записать;
- В разделе “Новое сочетание клавиш” введите любую удобную для вас комбинацию, после чего нажмите кнопку “Назначить”;
- Для начала записи макроса нажмите “Закрыть”.
6. Выполните поочередно все те действия, которые необходимо включить в макрос.
Примечание: Во время записи макроса нельзя использовать мышь для выделения текста, а вот для выбора команд и параметров нужно использовать именно ее. При необходимости, выделить текст можно с помощью клавиатуры.
Урок: Горячие клавиши в Ворде
7. Для остановки записи макроса нажмите “Остановить запись”, эта команда расположена в меню кнопки “Макросы” на панели управления.
Изменение комбинаций клавиш для макроса
1. Откройте окно “Параметры” (меню “Файл” или кнопка “MS Office”).
2. Выберите пункт “Настройка”.
3. Нажмите на кнопку “Настройка”, расположенную рядом с полем “Сочетание клавиш”.
4. В разделе “Категории” выберите “Макросы”.
5. В открывшемся списке выберите макрос, который необходимо изменить.
6. Кликните по полю “Новое сочетание клавиш” и нажмите клавиши или комбинацию клавиш, которые вы хотите назначить для конкретного макроса.
7. Убедитесь, что назначенное вами сочетание клавиш не используется для выполнения другой задачи (поле “Текущее сочетание”).
8. В разделе “Сохранить изменения” выберите подходящий вариант (место) для сохранения места, где макрос будет запускаться.
- Совет: Если вы хотите, чтобы макрос был доступен к использованию во всех документах, выберите параметр “Normal.dotm”.
9. Нажмите “Закрыть”.
Запуск макроса
1. Нажмите на кнопку “Макросы” (вкладка “Вид” или “Разработчик”, в зависимости от используемой версии программы).
2. Выберите макрос, который хотите запустить (список “Имя макроса”).
3. Нажмите “Выполнить”.
Создание нового макроса
1. Нажмите кнопку “Макросы”.
2. Задайте имя для нового макроса в соответствующем поле.
3. В разделе “Макросы из” выберите шаблон или документ, для которого будет сохранен создаваемый макрос.
- Совет: Если вы хотите, чтобы макрос стал доступен во всех документах, выберите параметр “Normal.dotm”.
4. Нажмите “Создать”. Будет открыт редактор Visual Basic, в котором и можно будет создать новый макрос на языке Visual Basic.
На этом все, теперь вы знаете, что такое макросы в MS Word, зачем они нужны, как их создавать и как с ними работать. Надеемся, информация из этой статьи будет полезной для вас и действительно поможет упростить, ускорить работу со столь продвинутой офисной программой.
Float |
|
1 |
|
09.03.2007, 12:22. Показов 26207. Ответов 6
Как из Excel открыть документ Word, в котором был бы определенный текст |
Pavel55 971 / 353 / 135 Регистрация: 27.10.2006 Сообщений: 764 |
||||||||
09.03.2007, 21:27 |
2 |
|||||||
Сообщение было отмечено Памирыч как решение Решение1) Для того, чтобы создать новый документ Word, напечатать там что-нибудь, сохранить его и закрыть
2) Чтобы открыть уже существующий документ, распечатать его и закрыть
0 |
Float |
|
10.03.2007, 22:13 |
3 |
Спасибо |
Float |
|
15.03.2007, 19:58 |
4 |
Уже совсем наглость — как выдать текст с новой строки? |
Pavel55 971 / 353 / 135 Регистрация: 27.10.2006 Сообщений: 764 |
||||
15.03.2007, 23:30 |
5 |
|||
Точно не знаю, попробуй
0 |
0 / 0 / 0 Регистрация: 10.07.2014 Сообщений: 41 |
|
07.11.2016, 19:32 |
6 |
А если путь к файлу документа будет меняться?
0 |
Казанский 15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
||||
07.11.2016, 20:20 |
7 |
|||
CrazyTonik, путь книги с макросом это thisworkbook.Path
0 |
Если есть необходимость обратиться к данным, хранящимся в текстовом файле приложения Word, или наоборот, передать данные из Excel в такой файл, то возникнет необходимость запуска приложения, в формате которого сохранен файл. Ниже приведен программный код макроса VBA для Microsoft Excel, запускающий приложение Word.
Если для передачи данных из Excel в Word необходим новый документ, можно воспользоваться примером кода, приведенного ниже. Макрос проверяет запущен ли Word и если он запущен, то добавляет новый документ, если же не запущен, то сначала запускает Word, а затем добавляет новый документ.
Sub Zapusk_Word_iz_Excel_01() Dim objWrdApp As Object Dim objWrdDoc As Object On Error Resume Next Set objWrdApp = GetObject(, "Word.Application") If objWrdApp Is Nothing Then Set objWrdApp = CreateObject("Word.Application") Set objWrdDoc = objWrdApp.Documents.Add objWrdApp.Visible = True End If Set objWrdDoc = objWrdApp.Documents.Add Set objWrdDoc = Nothing Set objWrdApp = Nothing End Sub
Для того, чтобы перенести этот программный код на свой компьютер, наведите курсор мыши на поле с программным кодом, нажмите на одну из двух кнопкок в правом верхнем углу этого поля, скопируйте программный код и вставьте его в модуль проекта на своем компьютере (подробнее о том, как сохранить программный код макроса).
Макрос, запускающий Word из Excel и открывающий существующий документ
Если для передачи данных из Word в Excel, необходимо открыть файл с заданным именем, то можно использовать аналогичный код, в котором вместо добавления нового документа открывается документ существующий:
Sub Zapusk_Word_iz_Excel_02() Dim objWrdApp As Object Dim objWrdDoc As Object On Error Resume Next Set objWrdApp = GetObject(, "Word.Application") If objWrdApp Is Nothing Then Set objWrdApp = CreateObject("Word.Application") Set objWrdDoc = objWrdApp.Documents.Open("C:Doc1.doc") objWrdApp.Visible = True End If Set objWrdDoc = objWrdApp.Documents.Open("C:Doc1.doc") Set objWrdDoc = Nothing Set objWrdApp = Nothing End Sub
При копировании этого кода на свой компьютер, не забудьте изменить путь к файлу и его имя. Запуск приложения можно сделать невидимым, если в коде изменить True на False.
Макрос для передачи данных из Excel в Word
Ниже приведен программный код макроса, копирующий в активной рабочей книге Excel диапазон с данными A1:E2 и вставляющий его в открытый документ Word. После передачи данных из Excel в Word производится закрытие документа с сохранением изменений и выход из приложения.
Sub Peredacha_Dannyh_iz_Excel_v_Word() Dim objWrdApp As Object Dim objWrdDoc As Object On Error Resume Next Set objWrdApp = GetObject(, "Word.Application") If objWrdApp Is Nothing Then Set objWrdApp = CreateObject("Word.Application") Set objWrdDoc = objWrdApp.Documents.Open("C:Doc1.doc") objWrdApp.Visible = False End If Set objWrdDoc = objWrdApp.Documents.Open("C:Doc1.doc") Range("A1:E2").Copy objWrdDoc.Range(0).Paste objWrdDoc.Close True 'True - с сохранением, False - без сохранения objWrdApp.Quit Set objWrdDoc = Nothing Set objWrdApp = Nothing End Sub
Другие материалы по теме:
Здравствуйте, подскажите пожалуйста, какой код VBA нужно написать, чтобы с кнопки ActiveX на листе Excel открывался Word файл. Файл лежит в одной папке с Excel. НО планируется распространить данный файл всем коллегам , поэтому , нужен относительный путь к файлу (то есть путь к файлу будет у каждого человека свой ) ? Изменено: Владислав Макеев — 08.09.2022 00:41:14 |
|
New Пользователь Сообщений: 4582 |
#2 08.09.2022 00:56:26
Изменено: New — 08.09.2022 00:58:02 |
||
Владислав Макеев Пользователь Сообщений: 8 |
#3 09.09.2022 16:23:42
Спасибо огромное ,за такой быстрый ответ!!!Код заработал!!! Но если не сложно сможете подсказать, excel открывает у меня файл, но в свернутом виде , как доработать код так , чтобы он всегда открывался в развернутом виде? |
||||
New Пользователь Сообщений: 4582 |
#4 09.09.2022 16:35:19 пожалуйста, не нажимайте кнопку Цитировать, я помню, что я писал вам. Нажимайте кнопку «Имя»
Изменено: New — 10.09.2022 01:14:22 |
||
Тимофеев Пользователь Сообщений: 1497 |
#5 09.09.2022 16:48:57
|
||
Тимофеев, спасибо за Ваш вариант он мне подошёл, я активировал строчку кода myWord.Active и теперь файл открывается при запуске кнопки! Но вот небольшой вопрос , а если я положу Word файл в отдельную папку, он мне выдаст ошибку , как это поправить? Изменено: Владислав Макеев — 10.09.2022 00:35:58 |
|
добавить в макрос диалог выбора файла |
|
New Пользователь Сообщений: 4582 |
#8 10.09.2022 01:20:06
Изменено: New — 10.09.2022 01:22:02 |
||
Александр Моторин, New, Извините что вел вас в заблуждение , но по моему я некорректно выразился. Под словом отдельная папка я имел ввиду , то что файл excel и файл word лежат в одной папке.И для того чтобы вордовский файл не мешался ,я для него создал отдельную папку там же , по сути файлы находятся рядом. Пример, путь к файлу excel: C:Рабочий столРасчётыРасчёты закупок.xlsx , а путь к вордовскому файлу C:Рабочий столРасчётыПрайсыАктуальный прайс.docx. Изменено: Владислав Макеев — 10.09.2022 03:03:55 |
|
New Пользователь Сообщений: 4582 |
#10 10.09.2022 03:06:57 чувствую эта тема будет бесконечной…
|
||
New, Тимофеев. Искренне благодарю за плодотворную, качественную работу, выполненную в короткий срок на высоком профессиональном уровне. Это позволило достичь эффективных результатов. Спасибо за проявленные старания, ответственность, добросовестность, трудолюбие, за удачно примененные глубокие знания и огромный практический опыт. Надеюсь на еще более успешную работу в дальнейшем. Изменено: Владислав Макеев — 11.09.2022 16:40:23 |
|
RAN Пользователь Сообщений: 7091 |
#12 11.09.2022 19:46:46
|
||
Создание нового документа Word или открытие существующего из кода VBA Excel. Методы Documents.Add и Documents.Open. Сохранение и закрытие документа.
Работа с Word из кода VBA Excel
Часть 2. Создание и открытие документов Word
[Часть 1] [Часть 2] [Часть 3] [Часть 4] [Часть 5] [Часть 6]
Новый документ Word создается из кода VBA Excel с помощью метода Documents.Add:
Sub Test1() Dim myWord As New Word.Application Dim myDocument As Word.Document Set myDocument = myWord.Documents.Add myWord.Visible = True End Sub |
Переменную myDocument можно объявить с типом Object, но тогда не будет ранней привязки к типу Word.Document и подсказок при написании кода (Auto List Members).
Открытие существующего документа
Существующий документ Word открывается из кода VBA Excel с помощью метода Documents.Open:
Sub Test2() Dim myWord As New Word.Application Dim myDocument As Word.Document Set myDocument = _ myWord.Documents.Open(«C:Документ1.docx») myWord.Visible = True End Sub |
Замените в этой процедуре строку «C:Документ1.docx» на адрес своего файла.
Подключение к открытому документу
Присвоение переменной ссылки на существующий экземпляр Word.Application осуществляется в VBA Excel с помощью функции GetObject:
Sub Test3() Dim myWord As Object, myDoc As Word.Document On Error GoTo Instr Set myWord = GetObject(, «Word.Application») Set myDoc = myWord.Documents(«Документ1.docx») myDoc.Range.InsertAfter «Добавляем новый текст, подтверждающий подключение к открытому документу.» Exit Sub Instr: MsgBox «Произошла ошибка: « & Err.Description End Sub |
Если открытого приложения Word нет, выполнение функции GetObject приведет к ошибке. Также произойдет ошибка, если не будет найден указанный документ (в примере — «Документ1.docx»).
Сохранение и закрытие документа
Сохранение нового документа
Чтобы сохранить из кода VBA Excel новый документ Word, используйте метод SaveAs2 объекта Document:
myDocument.SaveAs2 («C:Документ2.docx») |
Замените «C:Документ2.docx» на путь к нужному каталогу с именем файла, под которым вы хотите сохранить новый документ.
Сохранение изменений в открытом документа
Сохраняйте изменения в существующем документе с помощью метода Document.Save или параметра SaveChanges метода Document.Close:
‘Сохранение изменений документа myDocument.Save ‘Сохранение изменений документа ‘при закрытии myDocument.Close ‘по умолчанию True myDocument.Close True myDocument.Close wdSaveChanges ‘Закрытие документа без ‘сохранения изменений myDocument.Close False myDocument.Close wdDoNotSaveChanges |
Закрытие любого сохраненного документа
Метод Document.Close закрывает документ, но не приложение. Если работа с приложением закончена, оно закрывается с помощью метода Application.Quit.