VBA and Word
Globalen
Een aantal objecten kan worden aangesproken zonder de bovenliggende parent-objecten ervoor te hoeven zetten: Application.Selection.TypeParagraph is hetzelfde als Selection.TypeParagraph Andere globale objecten:
- Documents
- Templates
- Options
- CommandBars
- FontNames.
Selection
Het meest gebruikte object. Ermee kan door tekst worden genavigeerd, tekst worden ingevoegd en opgemaakt.
Selection.HomeKey wdStory Ga naar Begin van document Selection.EndKey wdStory Ga naar Einde van document Selection.GoTo Ga naar pagina, bladwijzer, veld Selection.Move... Verplaats de cursor, maak een selectie
Tekst bewerken
Selection.TypeText "Hallo" "Hallo" typen op de cursor Selection.TypeParagraph Alinea invoegen (op enter drukken) Selection.Copy/Cut/Paste De selectie kopiëren/knippen/plakken
Tekst opmaken
Selection.Font.Italic = True Cursief maken Selection.Font.Name = "Arial" Arial maken Selection.Style = ActiveDocument.Styles("Standaard") Standaard-opmaakprofiel toekennen
Documents en ActiveDocument
Om met meerdere bestanden tegelijk te kunnen werken in een macro, wat handig is bij het vergelijken van documenten of een afdruk-samenvoeg-toepassing, kan naar het huidige document worden verwezen met ActiveDocument. De collectie Documents bevat alle geopende documenten. Er wordt naar verwezen met een indexnummer of de documentnaam.
MsgBox "Het huidige document bevat " & _ ActiveDocument.Bookmarks.Count & _ " bladwijzers."
Application, Window, View en Pane
Met Application wordt het Word-venster bedoeld van waaruit de macro wordt gestart. Hierin is niet altijd maar één document geopend of weergegeven. Ook kan de weergave (standaard/pagina-weergave) onvoorspelbaar zijn waardoor bepaalde instructies niet goed werken. Het kan dus nodig zijn om eerst te analyseren hoe het document wordt weergegeven alvorens er een methode op los te laten.
Huidige document gesplitst?
If ActiveWindow.Panes.Count >= 2 Then ActiveWindow.ActivePane.Close
Meer dan één document open?
If Documents.Count < 1 then MsgBox "Er zijn meerdere documenten geopend!"
Huidige document in de paginaweergave zetten.
ActiveWindow.ActivePane.View.Type = wdPageView
Keyboard Shortcuts
Always wanna know how to get a list of all keyboard shortcuts in word? Simply do:
- From the Menu-Bar Tools » Macro .
- From the side menu, select Macros
- On the Macros dialog, click in the Macros in: box and select Word commands.
- In the Macro name: box above, delete the current macro name
- Type lis to advance the macro name list.
- Click ListCommands.
- Click the Run button on the right
- On the List Commands dialog, click Current menu and keyboard settings.
- Click OK .