Word-macro’s (3): Interactie

1
81
Dit artikel is deel 3 van 6 in het DiskIdee dossier Macro's in Microsoft Word
DossiernavigatieWord-macro’s (2): Onder de motorkapWord-macro’s (4): Knop of sneltoets toekennen

Aan een leeg, grijs venster met alleen een invulvakje heb je niet veel boodschap, want zo weet je niet wat je daar nu moet invullen. Ergens moet toch een vraag gesteld worden in de aard van "Vul hier je naam in" of zoiets. In onze toepassing moet daar dus komen: "De hoeveelste macro is dat nu al?" zodat je weet dat je in dat invulvak iets moet schrijven als derde, zevende of wat dan ook. Die vraag schrijf je tussen de haakjes van de functie InputBox().
Er kan nog iets tussen die haakjes staan. Elk Windows-venster heeft bovenaan een donkerblauwe titelbalk. Welnu, in die titelbalk kan je ook iets schrijven, bijvoorbeeld de naam van je macro, of gewoon "Een vraagje:".

Grammatica
Elke taal heeft zijn grammatica, en Visual Basic is ook een taal, een computertaal. In verband met de functie InputBox() moet je daarom drie simpele regeltjes respecteren:

1. Eerst komt de tekst die in de box verschijnt, daarna de tekst die op de titelbalk moet komen;
2. Elke tekst moet tussen dubbele aanhalingstekens staan;
3. Tussen de twee teksten moet je een komma plaatsen.

Onze functie zal er dus als volgt uitzien:

InputBox("Je hoeveelste macro is dat nu al ?","Hallo !")

Nu moet je nog de code van je macro Hallo aanpassen. We keren daarom terug naar onze Editor. In de lijn "Dit is mijn derde macro !" halen we de twee laatste woorden weg. Laat wel de spatie na "Dit is mijn " staan, anders plakt straks je cijfer aan het woordje "mijn"!

Voeg nu twee lijnen code toe, die je ofwel zorgvuldig overtypt, ofwel met kopiëren en plakken overneemt:

Selection.TypeText Text:=InputBox("Je hoeveelste macro is dat nu al ?", "Hallo !")
Selection.TypeText Text:=" macro !"

Het resultaat dient er nu uit te zien als op onderstaande schermafdruk.


De ingevulde code van de nieuwe macro

Voer je de macro uit, dan krijg je volgend schermpje:
 


Resultaat van de InputBox() code in een macro

Samengevat

  1. Met kopiëren en plakken in de Editor kan je ook macro’s toevoegen.
  2. Je kunt een macro een vraag laten stellen met de functie InputBox().
  3. De schrijfwijze van deze functie is InputBox("Gestelde vraag","Titelbalk").

Conclusie
Word-macro’s interactief maken is dus helemaal niet zo moeilijk. Volgende les gaan we een toetsencombinatie en een knop op de werkbalk toewijzen aan onze macro.
1
2
3
Vorig artikelCreatief met USB
Volgend artikelNieuwe Treo biedt een verbeterde e-mailondersteuning
René Paulus
René Paulus is medewerker van Diskidee.

1 REACTIE

Reacties zijn gesloten.