Приложимост: Word 365, 2019, 2016; Операционни системи Windows и MAC OS X.
Ето един въпрос от читател:
Аз съм учител, обикновено използвам Word 2019, за да пиша документите си. Често се налага да променя шрифта и размера на параграфите на документа си. Има ли начин да автоматизирам работата си с макроси, така че да мога да променя параграфа на документа си с едно щракване? Сигурен съм, че това ще ми спести няколко часа седмично, които с удоволствие ще инвестирам в други задачи.
Благодаря за въпроса ви. Основното предимство на макросите е, че ви позволяват да автоматизирате задачите си в приложенията на Microsoft Office. Макросите могат да бъдат записани или ръчно кодирани с помощта на Visual Basic за приложения (VBA). Word доставя макрорекордер, който ви позволява да разработвате скриптове за автоматизация без кодиране. Ако тепърва започвате с автоматизацията, това може да е достатъчно добро решение. Въпреки това, с малко познания за VBA, можете да пишете ефективни и мощни макроси.
Активиране на раздела за програмисти в Word
Ако не виждате раздела Разработчик във вашата лента на Microsoft Word, ще трябва да настроите вашата среда за разработка на макроси.
- Отворете нов документ на Word. В случай, че искате да работите върху съществуващ файл, уверете се, че имате копие за архивиране, преди да направите каквито и да било промени.
- Сега продължете и направете менюто за програмисти видимо в лентата .
Записване на Word Macro – практически пример
- Сега натиснете новодобавения раздел за програмисти .
- Отидете в групата бутони Код .

- Натиснете бутона Record Macro , за да извикате функцията за запис на макроси.
![Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери]()
- Определете смислено име за вашия макрос. Забележка: Тъй като името, което предоставяте, ще се използва в автоматично създадения VBA код, уверете се, че няма интервали в името на макроса.
- Забележка: Въпреки че е възможно да зададете макроси на бутони , за простота ще стартираме макроси ръчно чрез раздела Изглед или разделите за разработчици.
- Изпълнете последователността от стъпки, които искате да запишете. В този случай ще запишете следните стъпки:
- Изберете конкретен параграф във вашия документ.
- Отидете в раздела Начало .
- Задайте шрифта на Times New Roman.
- Задайте размера на шрифта на 16.
- Центрирайте вашия текст, като натиснете Ctrl +E.
- След като сте готови, върнете се в раздела Разработчик и натиснете Спиране на записа .
- Сега нека да разгледаме автоматично генерирания VBA код. Натиснете Макроси и след това маркирайте макроса за автоматично форматиране и натиснете Редактиране .
![Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери]()
Запазете работата си в шаблон с активиран Word Macro
- Щракнете върху Файл , след това Запиши като .
- В диалоговия прозорец Запиши като от дясната страна определете местоположението си за запис и дайте смислено име на вашата работна книга.
![Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери]()
- Изберете документ с активиран макрос на Word като тип документ. Забележка: Вашият Word документ ще бъде записан с наставката .docm.
- Натиснете бутона Запазване .
Изпълнение на вашия макрос
- Отворете вашия Word документ.
- Изберете абзаца, който искате да форматирате автоматично. Само като пример, ето параграфа, който избрах:
![Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери]()
- Отидете в раздела Изглед .
- Натиснете бутона Макроси .
- Изберете вашия макрос за автоматично форматиране
- Натиснете Run – това ще приложи макроса към избрания параграф.
- Voi'la, добър резултат!
![Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери]()
Присвояване на вашия макрос на бутони или клавишни комбинации
Забележка: Това е незадължителна стъпка, която трябва да се опита, след като сте следвали урока за запис на макроси по-горе.
Добре, досега работихме с основните ни макроси. Сега е време да подобрим малко използваемостта на нашия макрос в документа на Word. Позволете ми да ви покажа как можете да свържете своя макрос с бутон за бърз достъп, за да можете да го стартирате по-лесно.
- Щракнете с десния бутон върху лентата и изберете Персонализиране на лентата с инструменти за бърз достъп.
- Ще се появи диалоговият прозорец Опции на Word .
- В падащото меню Избор на команди от изберете Макроси.
- Маркирайте своя макрос и натиснете бутона Добавяне>> , за да добавите пряк път към вашия макрос към лентата с инструменти за бърз достъп .
![Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери]()
- Натиснете бутона Промяна... , за да дефинирате подходяща икона за вашия макрос.
- Определете екранно име за вашия бутон.
- Натиснете OK .
- Сега можете да стартирате своя макрос от лентата с инструменти за бърз достъп, точно над лентата.
![Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери]()
Забележка: Можете да свържете вашия Word Macro не само с бутони за бърз достъп, но и с командни бутони, вградени във вашия документ, и специфични персонализирани клавишни комбинации.
Създаване на Word макроси с помощта на VBA
С някои прости умения за кодиране на Visual Basic за приложения можем да редактираме макросите и да пишем програми за автоматизиране на различни видове работи с помощта на VBA.
Забележка настрана: FYI – някои от приложенията на Microsoft Office, като Powerpoint и Outlook, нямат вградени макрорекордери. Следователно писането на VBA е задължително за писане на макроси на Powerpoint и автоматизиране на Outlook.
- За да редактирате макрос, щракнете върху раздела Разработчик и изберете Макроси в опцията за код.
- Щракнете върху макроса и изберете Редактиране .
- Ще се отвори редакторът на Visual Basic за приложения.
- Да приемем, че искаме ръчно да редактираме макроса, който сме записали в предишната стъпка, така че Word не само да зададе размера, шрифта и подравняването на абзаца, но и цвета.
- Задаването на цвета на секция се постига с помощта на следната VBA команда:
[код] Избор.Шрифт.Цвят [/code]
- В нашия случай ще искаме да го зададем на произволно синьо, така че ще добавим следния фрагмент към нашия Записан макрос:
[код] Selection.Font.Color = 16737792[/code]
- Ето как трябва да изглежда вашият VBA код:
![Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери]()
- Във VBA Editor натиснете File и след това Save .
- Върнете се към документа си, стартирайте своя макрос върху параграф и наблюдавайте промяната на цвета на шрифта.
![Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери Word Macros отвъд Macro Recorder: Office 2016, 365 / 2019 Macros урок и полезни примери]()
Полезен пример за Word Macro, който можете да напишете
След публикуването на този урок много читатели поискаха по-задълбочени примери за 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 Macro
Ето още няколко идеи, които ще публикуваме в бъдеще.
- Намерете и заменете (метод на изпълнение)
- Вмъкване на абзац (преди и след избор)
- Печат на документи програмно
- Работа с таблици
Това завършва нашия урок за днес. Както току-що видяхте, има много какво да се направи с записа на макроси на Word и макроси VBA в Word. В случай, че търсите по-конкретна помощ, която излиза извън обхвата на този урок, моля свържете се с нас чрез нашата форма за контакт .