Word-macro’s (2): Onder de motorkap

4
59
Dit artikel is deel 2 van 6 in het DiskIdee dossier Macro's in Microsoft Word
DossiernavigatieWord-macro’s: eenvoudiger dan je denktWord-macro’s (3): Interactie

Een Word-macro kun je hergebruiken zo vaak je wil. Maar je kunt hem ook gemakkelijk verbeteren en aanvullen in een speciale editor. Dat lijkt moeilijker dan het is!
software
In deel 1 van deze Word macro-cursus nam je zelf een macro op. Die kan je nu hergebruiken zo vaak je maar wilt. De parallel met een videorecorder is vlug getrokken: je maakt een opname van een voetbalwedstrijd, en die kan je nadien ook naar believen herbekijken. Er is wel één groot verschil: het herbekijken van de voetbalwedstrijd duurt net zo lang als de opname, dus 2 x 45 minuten, terwijl de macro je handelingen herhaalt in een fractie van een seconde, al deed je er bij de opname uren over!

Apen apen apen na
Door die snelheid zie je eigenlijk alleen maar het eindresultaat, de tussenliggende stappen flitsen te snel voorbij. Vergeet echter nooit dat een macro een dom programma is dat jou alleen maar kan na-apen, er zit geen enkele logica in. Wanneer jij bij het typen van je tekst een fout maakt en die nadien corrigeert terwijl de opname nog loopt, dan zal je macro nadien telkens weer eerst die fout maken, en die dan corrigeren! Is het een eenvoudige, korte macro, dan kan je hem best gewoon opnieuw opnemen. Is het een lange macro met veel moeilijke handelingen, kan je misschien de code wijzigen.

Code wijzigen
Nu hoor ik je zeggen: "Code wijzigen? veel te moeilijk voor mij!" Komaan zeg, je hoeft toch geen garagist te zijn om een lekke band te vervangen? Ook jij kunt de code van een macro wijzigen: het is echt niet zo moeilijk als het misschien klinkt.
In deel 1 gaven we onze Word-macro de naam "Welkom", herinner je je nog? We gaan de code eens bekijken, volg de gids!
Je begint weer in het menu dat je intussen al wel kent: Extra, Macro, Macro’s… en je selecteert weer je macro "Welkom", maar deze keer klik je op de knop Bewerken.


Het Macro’s-menu van Word


Word-macro bewerken

Nu springt de Visual Basic Editor open, een nieuwe wereld!



De Visual Basic Editor
Deze Visual Basic Editor is echt een afzonderlijk programma, kijk maar onderaan je scherm naar de Windows Taakbalk: er is een knop "Microsoft Visual Basic…" bijgekomen.


Visual Basic Editor in de taakbalk van Windows

Dat is gemakkelijk om tijdens het testen van je macro snel over te schakelen van Word naar de Editor en terug.


Visual Basic Editor voor het bewerken van Word-macro’s

Het linkergedeelte van de Visual Basic Editor zal je normaal nooit gebruiken. Je herkent er de namen van de Word-documenten die je momenteel hebt open staan, met onder elk document een aantal mappen. Eigenlijk zijn dat de onderdelen waaruit een Word-document bestaat. Je kunt de Visual Basic code die je in het rechterpaneel ziet staan bezwaarlijk op je brief zelf zetten, dus heeft men daar een aanhangwagentje aangekoppeld om de code in te bewaren. Daar aanhangwagentje of wagonnetje zo kinderachtig klinken, heeft men dezelfde naam gebruikt als voor een ruimtestation: een module. Je Visual Basic code zit dus in een module. Nogmaals: vergeet voorlopig dat linkerdeel.

De Code
Het rechterdeel is veel interessanter: hier staat je code! Die zou er ongeveer als volgt moeten uitzien:

Sub Welkom()

‘ Welkom Macro
‘ Macro opgenomen op 19-1-2005 door RPaulus

Selection.TypeText Text:="Welkom in macro-land! Dit is mijn eerste macro!"
Selection.TypeParagraph
End Sub



De code ontrafeld
De code van je macro is een programma, in het Engels "a subroutine". Daarom begint elke macro met "Sub" gevolgd door zijn naam (in dit geval Welkom), en eindigt elke macro met "End Sub".


De macro-code start met Sub en eindigt met End Sub

Achter de naam van de macro bemerk je ook de twee haakjes. Heb je ooit in Excel gewerkt met functies, dan herken je ze waarschijnlijk wel, denk aan =Now(), =Time() enz.
De vier eerste lijnen beginnen met een enkel afkappingsteken. Dat enkele afkappingsteken duidt in Visual Basic aan dat hier commentaar staat en geen echte code. Je mag gelijk waar in je macro een lijn toevoegen met uitleg of wat dan ook, zolang je de regel maar laat beginnen met een enkel afkappingsteken. Of je mag die lijnen ook koudweg weghalen, dat kan geen kwaad. Die commentaarlijnen zijn ook groen gekleurd, dat gebeurt automatisch wanneer je een afkappingsteken vooraan een regel zet.
Dan volgt de echte code, twee lijntjes maar. Ondanks het feit dat je waarschijnlijk geen Visual Basic kent, begrijp je toch wat er staat:
Schrijf als tekst volgende woorden: "Welkom in macro-land…"
Schrijf een paragraafteken.

Aan de slag!
Vervang nu in de code zelf "Dit is mijn eerste macro" door "Dit is mijn tweede macro".
In het begin gaat dat wat vreemd lijken, maar deze wijzigingen in de code hoef je niet te bewaren (saven), je hoeft al evenmin de Editor te sluiten. Keer nu terug naar de Word-document door onderaan het scherm op de taakbalk op de knop van dat document te klikken. Voer de macro nu nog eens uit (in het menu Extra, Macro, Macro’s – selecteer Welkom, Uitvoeren).
Je merkt het: zo geheimzinnig is die Visual Basic code nu ook weer niet!

Samengevat

Om de code van je macro te bekijken in de Visual Basic Editor:

  1. Ga in het menu naar Extra – Macro – Macro’s…
  2. Klik op naam aan je macro
  3. Klik op de knop Bewerken
  4. Voer je wijzigingen uit
  5. Klik onderaan in de taakbalk van Windows op de naam van je document
  6. Test je macro

Conclusie
Je kunt zelfopgenomen macro’s bewerken en verbeteren in de Visual Basic Editor die bij Word wordt meegeleverd. Dat is vaak eenvoudiger dan de macro helemaal opnieuw op te nemen.  In deel 3 van deze cursus leren we je macro’s toe te voegen met kopiëren en plakken. Verder tonen we je ook hoe je een macro een vraag kunt laten stellen.
Vorig artikelGebruiksklare internettelefoon
Volgend artikelStealth, stealth en nog eens stealth…
René Paulus
René Paulus is medewerker van Diskidee.

4 REACTIES

  1. Vooral dit stukje i.vm de visual basic editor heeft me geholpen om de codes van een bestaande macro in een Wordsjabloon te kopiëren en te plakken (hergebruiken) in een nieuw aangemaakt Wordsjabloon. Dank je wel voor deze heel goeie cursus!

  2. Deze cursus kost niets, Piet, maar het is ook geen echte \”cursus\”: het is een \”kennismaking met\”.
    Ik ben bezig met nog enkele vervolgjes te schrijven…

Reacties zijn gesloten.