Aplicabilitate: Word 365, 2019, 2016; Sisteme de operare Windows și MAC OS X.
Iată o întrebare a unui cititor::
Sunt profesor, folosesc de obicei Word 2019 pentru a-mi scrie documentele. Adesea trebuie să schimb fontul și dimensiunea paragrafelor documentului. Există vreo modalitate de a-mi automatiza munca cu Macro-uri, astfel încât să îmi pot modifica paragraful documentului cu un singur clic? Sunt sigur că acest lucru mă va economisi câteva ore pe săptămână, pe care le voi investi cu plăcere în alte sarcini.
Vă mulțumesc pentru întrebarea dvs. Avantajul cheie al Macro-urilor este că vă permit să vă automatizați sarcinile în aplicațiile Microsoft Office. Macro-urile pot fi fie înregistrate, fie codificate manual folosind Visual Basic pentru aplicații (VBA). Word oferă un Macro recorder care vă permite să dezvoltați scripturi de automatizare fără codare. Dacă abia începi cu automatizarea, aceasta ar putea fi o soluție suficient de bună. Acestea fiind spuse, cu puține cunoștințe VBA, puteți scrie macro-uri eficiente și puternice.
Activarea filei pentru dezvoltatori în Word
Dacă nu vedeți fila Dezvoltator în Panglica Microsoft Word, va trebui să configurați mediul de dezvoltare Macro.
- Deschideți un nou document Word. În cazul în care doriți să lucrați la un fișier existent, asigurați-vă că aveți o copie pentru backup, înainte de a face orice modificări.
- Acum, mergeți mai departe și faceți meniul pentru dezvoltatori vizibil în Panglică .
Înregistrarea unei macrocomenzi Word – un exemplu practic
- Acum, apăsați fila Dezvoltator nou adăugată.
- Accesați grupul de butoane Cod .

- Apăsați butonul Înregistrare macro pentru a invoca funcția de înregistrare macro.

- Definiți un nume semnificativ pentru macrocomandă. Notă: Deoarece numele pe care îl furnizați va fi folosit în codul VBA creat automat, asigurați-vă că nu există spații în numele macrocomenzii.
- Notă: deși este posibil să atribuiți macrocomenzi butoanelor , pentru simplitate, vom rula macrocomandă manual prin fila Vizualizare sau filele Dezvoltator.
- Executați secvența de pași pe care doriți să o înregistrați. În acest caz, veți înregistra următorii pași:
- Selectați un anumit paragraf din documentul dvs.
- Accesați fila Acasă .
- Setați fontul la Times New Roman.
- Setați dimensiunea fontului la 16.
- Centrați-vă textul apăsând Ctrl + E.
- Odată gata, reveniți la fila Dezvoltator și apăsați Opriți înregistrarea .
- Acum să aruncăm o privire la codul VBA generat automat. Apăsați Macro și apoi evidențiați Macroformarea automată și apăsați Editare .

Salvați-vă munca într-un șablon activat pentru Macro Word
- Apăsați Fișier , apoi Salvați ca.
- În caseta de dialog Salvare ca din partea dreaptă, determinați locația de salvare și furnizați un nume semnificativ registrului de lucru.

- Alegeți Document activat pentru macrocomandă Word ca tip de document. Notă: documentul dvs. Word va fi salvat cu sufixul .docm.
- Apăsați butonul Salvare .
Executarea macrocomenzii
- Deschideți documentul Word.
- Selectați paragraful pe care doriți să îl formatați automat. Doar ca exemplu, iată paragraful pe care l-am ales:

- Accesați fila Vizualizare .
- Apăsați butonul Macro -uri .
- Selectați macrocomanda de formatare automată
- Apăsați Executare – aceasta va aplica macrocomanda pentru paragraful selectat.
- Voi'la, frumos rezultat!

Atribuirea macrocomenzii butoanelor sau comenzilor rapide de la tastatură
Notă: Acesta este un pas opțional care ar trebui încercat după ce ați urmat tutorialul de înregistrare macro de mai sus.
OK, până acum ne-am funcționat elementele de bază pentru macro-uri. Acum este timpul să îmbunătățim puțin gradul de utilizare a macrocomenzilor în documentul Word. Permiteți-mi să vă arăt cum vă puteți asocia macrocomanda cu un buton de acces rapid, astfel încât să o puteți lansa mai ușor.
- Faceți clic dreapta pe Panglică și selectați Personalizați bara de instrumente de acces rapid.
- Va apărea dialogul Opțiuni Word .
- În meniul derulant Alegeți comenzile din, selectați Macrocomenzi.
- Evidențiați macrocomanda și apăsați butonul Adăugare>> pentru a adăuga o comandă rapidă la macrocomandă la bara de instrumente Acces rapid .

- Apăsați butonul Modificare... pentru a defini o pictogramă potrivită pentru macrocomandă.
- Definiți un nume afișat pentru butonul dvs.
- Apăsați OK .
- Acum, puteți lansa macrocomanda din bara de instrumente Acces rapid, chiar deasupra Panglicii.

Notă: Puteți să vă asociați Macro-ul Word nu numai cu butoanele de acces rapid, ci și cu butoanele de comandă încorporate în documentul dvs. și cu anumite comenzi rapide de la tastatură personalizate.
Crearea de macrocomenzi Word folosind VBA
Cu niște abilități simple de codificare Visual Basic pentru aplicații, putem edita macrocomenzi și scrie programe pentru a automatiza diferite tipuri de lucrări folosind VBA.
Notă deoparte: FYI – unele dintre aplicațiile Microsoft Office, cum ar fi Powerpoint și Outlook, nu au încorporate macro recordere. Prin urmare, scrierea VBA este obligatorie pentru scrierea macrocomenzilor Powerpoint și automatizarea Outlook.
- Pentru a edita o macrocomandă, faceți clic pe fila Dezvoltator și selectați Macrocomenzi în opțiunea de cod.
- Faceți clic pe macro și selectați Editați .
- Se va deschide editorul Visual Basic pentru aplicații.
- Să presupunem că vrem să edităm manual Macro-ul pe care l-am înregistrat la pasul anterior, astfel încât Word nu doar să stabilească Dimensiunea, fontul și alinierea paragrafului, ci și culoarea.
- Setarea culorii unei secțiuni se realizează folosind următoarea comandă VBA:
[cod] Selection.Font.Color [/code]
- În cazul nostru, vom dori să-l setăm la un albastru aleatoriu, așa că vom adăuga următorul fragment la macrocomanda noastră înregistrată:
[cod] Selection.Font.Color = 16737792[/code]
- Iată cum ar trebui să arate codul dvs. VBA:

- În Editorul VBA, apăsați pe Fișier și apoi pe Salvare .
- Înapoi la document, rulați macrocomanda pe un paragraf și observați schimbarea culorii fontului.

Exemplu util de macrocomandă Word pe care îl puteți scrie
De la publicarea acestui tutorial, mulți cititori au cerut exemple mai aprofundate de macrocomenzi Word. Această listă acoperă cele mai răspândite sarcini pe care le puteți automatiza folosind Visual Basic în Word. Începem:
Creați și salvați un document nou
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
Notă: Când creați documente noi, puteți specifica șablonul (fișiere .dotm/.dotx) pe care doriți să îl utilizați. Șabloanele sunt de obicei stocate la: C:\Users\\AppData\Roaming\Microsoft\Templates
Documents.Add Template:=<your_template_folder>
Deschideți un document Word cu 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
Închiderea unuia/a tuturor documentelor deschise
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
Salvarea Word ca PDF
Iată cum puteți automatiza cu ușurință salvarea documentelor Word ca fișiere 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
Se inserează antet și subsol
Acest cod setează antetul și subsolul primei pagini a documentului 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
Idei suplimentare Word Macro
Iată încă câteva idei pe care le vom posta în viitorul apropiat.
- Găsiți și înlocuiți (metoda Execute)
- Inserați un paragraf (înainte și după o selecție)
- Imprimarea documentelor în mod programat
- Lucrul cu tabele
Aceasta încheie tutorialul nostru de astăzi. După cum tocmai ați văzut, sunt multe de făcut cu înregistratorul de macrocomandă Word și macrocomenzile VBA din Word. În cazul în care sunteți în căutarea unui ajutor mai specific, care depășește scopul acestui tutorial, vă rugăm să ne contactați prin formularul nostru de contact .