Застосування: Word 365, 2019, 2016; Операційні системи Windows і MAC OS X.
Ось запитання від читача:
Я викладач, як правило, використовую Word 2019 для написання своїх документів. Мені часто потрібно змінити шрифт і розмір абзаців мого документа. Чи є спосіб автоматизувати мою роботу з макросами, щоб я міг змінити абзац документа одним клацанням миші? Я впевнений, що це заощадить мені пару годин на тиждень, які я з радістю вкладу в інші завдання.
Дякую за запитання. Ключова перевага макросів полягає в тому, що вони дозволяють автоматизувати свої завдання в програмах Microsoft Office. Макроси можна записувати або кодувати вручну за допомогою Visual Basic для додатків (VBA). Word постачає записник макросів, який дозволяє розробляти сценарії автоматизації без кодування. Якщо ви тільки починаєте працювати з автоматизацією, це може бути досить хорошим рішенням. Тим не менш, маючи трохи знань VBA, ви можете писати ефективні та потужні макроси.
Увімкнення вкладки розробника в Word
Якщо ви не бачите вкладку «Розробник» на стрічці Microsoft Word, вам потрібно налаштувати середовище розробки макросів.
- Відкрийте новий документ Word. Якщо ви хочете працювати з наявним файлом, переконайтеся, що у вас є копія для резервного копіювання, перш ніж вносити будь-які зміни.
- Тепер зробіть меню розробника видимим на стрічці .
Запис макросу Word – практичний приклад
- Тепер перейдіть на щойно додану вкладку Розробник .
- Перейдіть до групи кнопок « Код ».

- Натисніть кнопку Запис макросу , щоб викликати функцію запису макросу.
![Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади]()
- Визначте значущу назву для свого макросу. Примітка. Оскільки введене вами ім’я використовуватиметься в автоматично створеному коді VBA, переконайтеся, що в назві макросу немає пробілів.
- Примітка. Хоча можна призначити макроси кнопкам , для простоти ми запускаємо макроси вручну через вкладку «Перегляд» або вкладки «Розробник».
- Виконайте послідовність кроків, які ви хочете записати. У цьому випадку ви запишете такі дії:
- Виберіть певний абзац у своєму документі.
- Перейдіть на вкладку « Головна ».
- Встановіть шрифт Times New Roman.
- Встановіть розмір шрифту на 16.
- Центрувати текст, натиснувши Ctrl +E.
- Після завершення поверніться на вкладку Розробник і натисніть Зупинити запис .
- Тепер давайте подивимося на автоматично згенерований код VBA. Натисніть Макроси , а потім виділіть макрос автоформатування та натисніть Редагувати .
![Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади]()
Збережіть свою роботу в шаблоні Word Macro
- Натисніть Файл , потім Зберегти як .
- У діалоговому вікні «Зберегти як» з правого боку визначте місце збереження та вкажіть змістовне ім’я своїй книзі.
![Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади]()
- Виберіть «Документ із підтримкою макросів Word» як тип документа. Примітка. Ваш документ Word буде збережено із суфіксом .docm.
- Натисніть кнопку Зберегти .
Виконання вашого макросу
- Відкрийте документ Word.
- Виберіть абзац, який потрібно автоматично відформатувати. Як приклад, ось абзац, який я вибрав:
![Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади]()
- Перейдіть на вкладку Перегляд .
- Натисніть кнопку Макроси .
- Виберіть макрос автоформатування
- Натисніть « Виконати» – макрос буде застосовано до вибраного абзацу.
- Вуаля, гарний результат!
![Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади]()
Призначення макросу кнопкам або комбінаціям клавіш
Примітка: це необов’язковий крок, який слід спробувати після того, як ви дотримуєтеся посібника із запису макросу вище.
Гаразд, наразі ми отримали наші основи макросів. Тепер настав час трохи покращити нашу зручність використання макросу в документі Word. Дозвольте мені показати вам, як ви можете пов’язати свій макрос з кнопкою швидкого доступу, щоб вам було легше його запускати.
- Клацніть правою кнопкою миші на стрічці та виберіть Налаштувати панель швидкого доступу.
- З’явиться діалогове вікно параметрів Word .
- У спадному меню Вибрати команди з виберіть Макроси.
- Виділіть свій макрос і натисніть кнопку Додати>> , щоб додати ярлик до свого макросу на панель швидкого доступу .
![Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади]()
- Натисніть кнопку « Змінити… », щоб визначити відповідну піктограму для вашого макросу.
- Визначте відображуване ім’я для кнопки.
- Натисніть ОК .
- Тепер ви можете запустити свій макрос з панелі швидкого доступу над стрічкою.
![Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади]()
Примітка. Ви можете пов’язати свій макрос Word не лише з кнопками швидкого доступу, а й із кнопками команд, вбудованими у ваш документ, і певними користувацькими комбінаціями клавіш.
Створення макросів Word за допомогою VBA
З деякими простими навичками кодування Visual Basic для додатків ми можемо редагувати макроси та писати програми для автоматизації різних видів робіт за допомогою VBA.
Примітка: до відома – деякі програми Microsoft Office, такі як Powerpoint і Outlook, не мають вбудованих записувачів макросів. Тому написання VBA є обов’язковим для написання макросів Powerpoint та автоматизації Outlook.
- Щоб відредагувати макрос, перейдіть на вкладку « Розробник » і виберіть « Макроси » у варіанті коду.
- Натисніть на макрос і виберіть Редагувати .
- Відкриється редактор Visual Basic для програм.
- Припустимо, що ми хочемо вручну відредагувати макрос, який ми записали на попередньому кроці, щоб Word не тільки встановив розмір, шрифт і вирівнювання абзацу, але й колір.
- Встановлення кольору розділу здійснюється за допомогою такої команди VBA:
[code] Selection.Font.Color [/code]
- У нашому випадку ми хочемо встановити для нього випадковий синій колір, тому ми додамо такий фрагмент до нашого записаного макросу:
[код] Selection.Font.Color = 16737792[/code]
- Ось як має виглядати ваш код VBA:
![Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади]()
- У редакторі VBA натисніть Файл , а потім Зберегти .
- Поверніться до документа, запустіть макрос на абзаці та поспостерігайте за зміною кольору шрифту.
![Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади Макроси Word за межами запису макросів: підручник із макросів Office 2016, 365/2019 та корисні приклади]()
Корисний приклад макросу Word, який ви можете написати
Після публікації цього посібника багато читачів попросили докладніші приклади макросів Word. Цей список охоплює найбільш поширені завдання, які можна автоматизувати за допомогою Visual Basic у Word. Ось і ми:
Створити та зберегти новий документ
Sub CreateNewDoc()
'This small snippet first creates a new document, then it checks whether a document with the same name already exists before saving.
Dim myDoc As New Document
Dim filePath As String
'Modify your file path as needed
filePath = "C:\MyNewDoc.docx"
Set myDoc = Documents.Add
With myDoc
If Dir(filePath) = "" Then
.SaveAs2 (filePath)
Else
'You have already an existing document
MsgBox ("Please use a different file name")
End If
End With
myDoc.Close SaveChanges:=wdPromptToSaveChanges
End Sub
Примітка: під час створення нових документів ви можете вказати шаблон (файли .dotm/.dotx), який ви бажаєте використовувати. Шаблони зазвичай зберігаються за адресою: C:\Users\\AppData\Roaming\Microsoft\Templates
Documents.Add Template:=<your_template_folder>
Відкрийте документ Word за допомогою VBA
Sub OpenDoc()
'This code checks whether your document exists and then opens it
filePath = "C:\MyNewDoc.docx"
If Dir(filePath) = "" Then
MsgBox ("file doesn't exist")
Else
Documents.Open (filePath)
End If
End Sub
Закриття одного/всіх відкритих документів
Sub CloseDoc()
'This code closes a specific document
filePath = "C:\MyNewDoc.docx"
Documents(filePath).Close SaveChanges:=wdPromptToSaveChanges
End Sub
Sub CloseAllDocs()
'This code closes all opened documents in your computer
Documents.Close SaveChanges:=wdPromptToSaveChanges
End Sub
Збереження Word у форматі PDF
Ось як легко автоматизувати збереження документів Word у форматі PDF.
Sub SaveAsPdf()
'This code saves a word document in a PDF format
FileName = Left(CStr(ActiveDocument.Name), Len(CStr(ActiveDocument.Name)) - 5)
ActiveDocument.SaveAs2 FileName:="c:\" + FileName + ".pdf", FileFormat:=wdFormatPDF
End Sub
Вставлення верхнього та нижнього колонтитулів
Цей код встановлює верхній і нижній колонтитул першої сторінки вашого документа Word.
Sub InsertHeaderFooterFirstPage()
Dim myDoc As Document
Dim headerText As String
Dim footerText As String
Set myDoc = ActiveDocument
'Replace the header and footer text as needed
headerText = "This document was written by you"
footerText = "All rights reserved to you"
With myDoc.Sections(1)
'We first ensure that we can set different header and footer texts
.PageSetup.DifferentFirstPageHeaderFooter = True
'Setting the header and footer texts
.Headers(wdHeaderFooterFirstPage).Range.Text = headerText
.Footers(wdHeaderFooterFirstPage).Range.Text = footerText
End With
End Sub
Додаткові ідеї макросу Word
Ось ще кілька ідей, які ми опублікуємо в майбутньому.
- Знайти та замінити (метод виконання)
- Вставити абзац (до і після виділення)
- Програмний друк документів
- Робота з таблицями
На цьому наш урок на сьогодні закінчується. Як ви щойно побачили, за допомогою записувача макросів Word і макросів VBA у Word можна багато чого зробити. Якщо ви шукаєте більш конкретну допомогу, яка виходить за рамки цього підручника, будь ласка, зв’яжіться з нами через нашу контактну форму .