Toepasbaarheid: Word 365, 2019, 2016; Windows- en MAC OS X-besturingssystemen.
Hier een vraag van een lezer:
Ik ben een leraar en gebruik meestal Word 2019 om mijn documenten te schrijven. Ik moet vaak het lettertype en de grootte van mijn documentparagrafen wijzigen. Is er een manier om mijn werk met macro's te automatiseren, zodat ik mijn documentparagraaf met één klik kan wijzigen? Ik weet zeker dat dit me een paar uur per week gaat besparen, die ik graag in andere taken investeer.
Bedankt voor je vraag. Het belangrijkste voordeel van macro's is dat u hiermee uw taken in Microsoft Office-toepassingen kunt automatiseren. Macro's kunnen worden opgenomen of handmatig worden gecodeerd met behulp van Visual Basic for Applications (VBA). Word levert een macrorecorder waarmee u automatiseringsscripts kunt ontwikkelen zonder codering. Als u net begint met automatisering, is dit misschien een goede oplossing. Dat gezegd hebbende, met een beetje VBA-kennis kun je efficiënte en krachtige macro's schrijven.
Het tabblad Ontwikkelaar inschakelen in Word
Als u het tabblad Ontwikkelaar niet ziet in uw Microsoft Word-lint, moet u uw macro-ontwikkelomgeving instellen.
- Open een nieuw Word-document. Als u aan een bestaand bestand wilt werken, zorg er dan voor dat u een kopie voor back-up hebt voordat u wijzigingen aanbrengt.
- Ga je gang en maak het ontwikkelaarsmenu zichtbaar in het lint .
Een woordmacro opnemen – een praktisch voorbeeld
- Klik nu op het nieuw toegevoegde tabblad Ontwikkelaars .
- Ga naar de knopgroep Code .

- Druk op de knop Macro opnemen om de functie Macro-recorder op te roepen.

- Definieer een betekenisvolle naam voor uw macro. Opmerking: aangezien de naam die u opgeeft, wordt gebruikt in de automatisch gemaakte VBA-code, moet u ervoor zorgen dat er geen spaties in de macronaam staan.
- Opmerking: hoewel het mogelijk is om macro's aan knoppen toe te wijzen, zullen we voor de eenvoud Macro handmatig uitvoeren via het tabblad Weergave of Ontwikkelaars.
- Voer de reeks stappen uit die u wilt opnemen. In dit geval legt u de volgende stappen vast:
- Selecteer een specifieke alinea in uw document.
- Ga naar het tabblad Start .
- Stel het lettertype in op Times New Roman.
- Stel de lettergrootte in op 16.
- Centreer uw tekst door op Ctrl + E te drukken.
- Als u klaar bent, keert u terug naar het tabblad Ontwikkelaars en drukt u op Opname stoppen .
- Laten we nu eens kijken naar de automatisch gegenereerde VBA-code. Druk op Macro's en markeer vervolgens de AutoOpmaak -macro en druk op Bewerken .

Sla uw werk op in een voor Word Macro ingeschakelde sjabloon
- Druk op Bestand en vervolgens op Opslaan als .
- In het dialoogvenster Opslaan als aan de rechterkant bepaalt u uw opslaglocatie en geeft u uw werkmap een betekenisvolle naam.

- Kies Word Macro ingeschakeld document als uw documenttype. Opmerking: uw Word-document wordt opgeslagen met het achtervoegsel .docm.
- Druk op de knop Opslaan .
Uw macro uitvoeren
- Open uw Word-document.
- Selecteer de alinea die u automatisch wilt opmaken. Als voorbeeld, hier is de alinea die ik heb gekozen:

- Ga naar het tabblad Weergave .
- Druk op de knop Macro's .
- Selecteer uw AutoOpmaak- macro
- Druk op Uitvoeren - hiermee wordt de macro op de geselecteerde alinea toegepast.
- Voi'la, mooi resultaat!

Uw macro toewijzen aan knoppen of sneltoetsen
Opmerking: dit is een optionele stap die moet worden geprobeerd nadat u de bovenstaande zelfstudie over macro-opnames hebt gevolgd.
OK, tot nu toe hebben we onze basisprincipes van Macro werkend gekregen. Nu is het tijd om onze macro-bruikbaarheid in het Word-document een beetje te verbeteren. Ik zal u laten zien hoe u uw macro kunt koppelen aan een snelle toegangsknop, zodat u deze gemakkelijker kunt starten.
- Klik met de rechtermuisknop op het lint en selecteer De werkbalk Snelle toegang aanpassen.
- Het dialoogvenster Woordopties verschijnt.
- Selecteer in de vervolgkeuzelijst Kies opdrachten uit de optie Macro's.
- Markeer uw macro en druk op de knop Toevoegen>> om een snelkoppeling naar uw macro toe te voegen aan de werkbalk Snelle toegang .

- Druk op de knop Wijzigen... om een geschikt pictogram voor uw macro te definiëren.
- Definieer een weergavenaam voor uw knop.
- Druk op OK .
- Nu kunt u uw macro starten vanuit de werkbalk Snelle toegang, net boven het lint.

Opmerking: u kunt uw Word-macro niet alleen koppelen aan sneltoetsen, maar ook aan opdrachtknoppen die zijn ingesloten in uw document en specifieke aangepaste sneltoetsen.
Word-macro's maken met VBA
Met enkele eenvoudige programmeervaardigheden in Visual Basic for Applications kunnen we de macro's bewerken en programma's schrijven om verschillende soorten werken te automatiseren met behulp van VBA.
Terzijde: ter informatie: sommige Microsoft Office-toepassingen, zoals Powerpoint en Outlook, hebben geen ingebouwde macrorecorders. Daarom is het schrijven van VBA verplicht voor het schrijven van Powerpoint-macro's en het automatiseren van Outlook.
- Om een macro te bewerken, klikt u op het tabblad Ontwikkelaar en selecteert u Macro's in de code-optie.
- Klik op de macro en selecteer Bewerken .
- De Visual Basic for Applications-editor wordt geopend.
- Laten we aannemen dat we de macro die we in de vorige stap hebben opgenomen, handmatig willen bewerken, zodat Word niet alleen de grootte, het lettertype en de uitlijning van de alinea instelt, maar ook de kleur.
- Het instellen van de kleur van een sectie wordt bereikt met behulp van de volgende VBA-opdracht:
[code] Selectie.LettertypeKleur [/code]
- In ons geval willen we het op een willekeurig blauw instellen, dus voegen we het volgende fragment toe aan onze Opgenomen macro:
[code] Selectie.Lettertypekleur = 16737792[/code]
- Zo zou uw VBA-code eruit moeten zien:

- Druk in de VBA-editor op Bestand en vervolgens op Opslaan .
- Terug naar je document, voer je macro uit op een alinea en observeer de kleurverandering van het lettertype.

Nuttig Word Macro-voorbeeld dat u kunt schrijven
Sinds de publicatie van deze tutorial hebben veel lezers om meer diepgaande voorbeelden van Word-macro's gevraagd. Deze lijst bevat de meest voorkomende taken die u kunt automatiseren met Visual Basic in Word. Daar gaan we:
Nieuw document maken en opslaan
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
Opmerking: wanneer u nieuwe documenten maakt, kunt u de sjabloon (.dotm/.dotx-bestanden) specificeren die u wilt gebruiken. Sjablonen worden doorgaans opgeslagen in: C:\Users\\AppData\Roaming\Microsoft\Templates
Documents.Add Template:=<your_template_folder>
Open een Word-document met 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
Een/alle geopende documenten sluiten
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 opslaan als PDF
Hier leest u hoe u eenvoudig het opslaan van Word-documenten als PDF-bestanden kunt automatiseren.
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
Kop- en voettekst invoegen
Deze code stelt de kop- en voettekst van de eerste pagina van uw Word-document in.
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
Aanvullende ideeën voor woordmacro's
Hier zijn nog een paar ideeën die we de komende tijd zullen posten.
- Zoeken en vervangen (methode uitvoeren)
- Een alinea invoegen (voor en na een selectie)
- Documenten programmatisch afdrukken
- Werken met tabellen
Hiermee is onze tutorial voor vandaag afgesloten. Zoals je zojuist hebt gezien, is er veel te doen met de Word-macrorecorder en VBA-macro's in Word. Als u op zoek bent naar meer specifieke hulp die buiten het bestek van deze tutorial valt, neem dan alstublieft contact met ons op via ons contactformulier .