Word-macro’s (5): Creatief met Tupperware (= variabelen)

6
81
Dit artikel is deel 5 van 6 in het DiskIdee dossier Macro's in Microsoft Word
DossiernavigatieWord-macro’s (4): Knop of sneltoets toekennenWord-macro’s (6): Een wissel: de IF-functie

Voorbeeld 1
Je woont in Oud-Turnhout, en je wilt die naam in een variabele steken met de naam Gemeente. Dat schrijf je zo:

gemeente = "Oud-Turnhout"

Wil je nu ook de naam DiskIdee in een variabele met de naam Firma steken, dan schrijf je volgende zin eronder:

firma = "DiskIdee"

Let op de dubbele aanhalingstekens voor en achter Oud-Turnhout en DiskIdee: tekst moet in Visual Basic altijd tussen dubbele aanhalingstekens staan. Dat verschijnsel heb je al eerder
gezien, herinner je je de syntax nog van de functie Inputbox()? In les 3 zag je volgende code:

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

Hier zie je ook die aanhalingstekens.

Voorbeeld 2
In het vorige voorbeeld is de gemeente altijd Oud-Turnhout, maar het wordt pas interessant wanneer je zelf de naam kunt intikken en dat de computer die dan onthoudt. Daar gebruiken we weer die functie InputBox() voor. De code wordt dan:

gemeente = InputBox("In welke gemeente woon je ?","Vraagje")
firma = InputBox("En voor welke firma werk je?","Vraagje")

Het antwoord dat op deze vragen ingetikt wordt, wordt opgeslagen in de variabelen gemeente en firma, klaar voor verder gebruik.

De gegevens in variabelen terug gebruiken
In les 2 zagen we dat om tekst op je blad te zetten, Visual Basic volgende code genereerde:

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

Wel, in de plaats van die tekst tussen de aanhalingstekens (daar zijn ze weer, die aanhalingstekens!), zet je nu de naam van de variabele, ZONDER aanhalingstekens:

Selection.TypeText Text:= gemeente

In het vorige voorbeeld 1 zou dan op je blad in Word, het woordje Oud-Turnhout staan. In voorbeeld 2 staat de naam van de gemeente die je intikte als antwoord op de vraag "In welke gemeente woon je ?".

Merk het verschil tussen volgende twee lijnen code:

Selection.TypeText Text:= "gemeente"
Selection.TypeText Text:= gemeente

De eerste lijn zal op je blad het woordje gemeente zetten, omdat gemeente in de code tussen dubbele aanhalingstekens staat. In de tweede lijn staat gemeente NIET tussen aanhalingstekens, dus gaat Visual Basic op zoek naar een variabele met het etiket gemeente. De inhoud ervan, Oud-Turnhout, wordt nu op je blad geschreven.

Opdracht
Probeer volgende code eerst te begrijpen, kopieer hem in de Visual Basic Editor (zie eventueel les 3) en probeer maar eens uit!

Sub Variabelen1()

‘ Variabelen1 Macro
‘ Macro opgenomen op 03-03-2005 door RPaulus

voornaam = InputBox("Hoe heet je eigenlijk ?","Opdracht les 5")
gemeente = InputBox("In welke gemeente woon je ?","Opdracht les 5")
firma = InputBox("En voor welke firma werk je?","Opdracht les 5")
Selection.TypeText Text:="Hallo, "
Selection.TypeText Text:=voornaam
Selection.TypeText Text:=" uit "
Selection.TypeText Text:=gemeente
Selection.TypeText Text:=","
Selection.TypeParagraph
Selection.TypeText Text:="Zeg, "
Selection.TypeText Text:=voornaam
Selection.TypeText Text:=", werk jij nog altijd bij "
Selection.TypeText Text:=firma
Selection.TypeText Text:="? Dat ligt toch vrij ver van "
Selection.TypeText Text:=gemeente
Selection.TypeText Text:="?"
Selection.TypeParagraph
End Sub

Samengevat

  • Om je achternaam in een variabele te steken, schrijf je achternaam = "Janssens"
  • Wil je zelf een naam kunnen invullen, wordt dat achternaam = InputBox("Wat is je familienaam ?","Vraagje")

1
2
Vorig artikelEen pen voor je pc
Volgend artikelOveral in huis draadloze toegang tot multimediabestanden
René Paulus
René Paulus is medewerker van Diskidee.

6 REACTIES

  1. Bedankt voor de perfecte macrouitleg. Kan ik een wordmacro (office XP prof) vanaf het bureaublad starten?

    Jebro

  2. Hoi René,

    Ik ben blij dat er nog een vervolg komt ik hoop snel.
    Wat ik bedoel eigenlijk is wat je ongeveer in deel 3 beschrijft maar dan een opmaak van een brief of een fax. Hoe je een lege regels krijgt. Ik zal een voorbeeld geven;
    Naam
    Adres
    postcode plaats

    Datum:

    Betreft:
    Dat lukt mij alles komt naast elkaar te staan misschien dat jij het weet hoe ik dat voor elkaar krijgt dan hoor ik dat graag of dat het in het vervolg wordt besproken. In ieder geval ik ben hoopvol.

  3. Bedankt, Ingrid, er komt trouwens nog een vervolgje op.
    Wat bedoel je met \”hoe ik een brief moet maken\”?
    Een fax op zich is natuurlijk maar een gewone brief met eventueel wat speciale lay-out, maar om hem rechtstreeks te versturen vanaf je pc ùoet je pc wel beschikken over een aansluiting op het telefoonnet, plus speciale software. Meestal vind je die terug als een printer in het venster \”Afdrukken…\”
    Logo\’s maak je best in een tekenprogramma.
    groetjes,!

  4. Ik wil je bedanken voor de goede uitleg van de macro\’s ik heb er veel aan gehad. Wat ik nog wel zou willen weten is hoe ik een fax , brief, memo, logo moet maken.

  5. Fantastisch gewoon! Bedankt aan al de mensen die hier hun kostbare tijd insteken zodat anderen het ook kunnen leren!

  6. en nu het vervolg ?? automatische actie\’s zoals printen en daarna sluiten zonder saven en opnieuw naar een volgende situatie

Reacties zijn gesloten.