|
Om het hierboven beschreven voorbeeld te volgen opent u de Visual Basic Editor in Word (via sneltoets Alt+F11) en voegt daar een module aan toe. Rechtsklik daartoe in VBA op de bestandsnaam en kies Invoegen >> Module). U vindt deze module met inhoud in het hier te downloaden document VoorbeeldveldenWord.doc. Typ hier de volgende code:
Sub NieuweDocumentVariable() ThisDocument.Variables.Add Name:="Age", _ Value:=DateDiff("yyyy", #11/22/1976#, Date) End Sub
Deze subroute voert u uit door in het menu Uitvoeren te kiezen voor Sub/Userform uitvoeren. U voegt hiermee een documentvariabele toe (ThisDocument.Variables.Add) die u de naam Age geeft (Name:="Age") en de waarde van uw huidige leeftijd. Stel dat uw geboortedatum 22 november 1966 is (Value:=DateDiff("yyyy", #11/22/1976#, Date)).
De formule DateDiff berekent het verschil tussen de huidige datum (date) en uw geboortedatum (let op de hekjes - #11/22/1976#) in jaren ("yyyy"). Wanneer u nu in uw document een veld DocVariable invoegt met als argument Nieuwe naam: age (is hier niet hoofdlettergevoelig), dan ziet dat er in veldweergave uit als:
{ DOCVARIABLE Age \* MERGEFORMAT }
Deze documentvariabele blijft in het document opgeslagen, ook bij sluiten en opnieuw openen, tot u de variabele weer wist met bijvoorbeeld de volgende code:
Sub VerwijderDocumentVariable() ThisDocument.Variables("Age").Delete End Sub
Wilt u een waarde van een documentvariabele wijzigen, dan verwijdert u de variabele en benoemt hem opnieuw:
Sub WijzigDocumentVariable() ThisDocument.Variables("Age").Delete ThisDocument.Variables.Add Name:="Age", _ 'de variabele age wordt opnieuw toegevoegd, 'maar u bent nu 10 jaar ouder Value:=DateDiff("yyyy", #11/22/1966#, Date) End Sub
Nadat u het veld docvariable age in uw document hebt laten herberekenen, zal het resultaat tien jaar meer zijn. Om de documentvariabele te testen kunt u ook met de volgende subroutine aan de slag:
Sub TestDocumentVariable() Dim intAge As Integer intAge = ThisDocument.Variables("Age").Value MsgBox "U bent dit jaar " & intAge & " jaar oud.", _ vbInformation, "Gefeliciteerd" End Sub
De waarde van de variabele documentvariable wordt nu door Debug.Print zichtbaar in het venster Direct in de Visual Basic Editor (sneltoets Ctrl+G).
|