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

Keer nu terug naar je Word-document, en voer de macro Hallo uit (Extra, Macro, Macro’s…). Je merkt het, Hallo staat nu mee in de lijst! Probeer hem maar eens uit.

Oefening
Op ons forum (in de rubriek Software – Programmeren) vroeg een lezer naar een simpele manier om onderaan een Word-document achtereenvolgens de datum van vandaag, de naam van het document en het aantal woorden te zetten. Dat kan je oplossen met een macro.

Sub lovlay1()

‘ lovlay Macro
‘ Macro opgenomen op 17-1-2005 door RPaulus

Selection.EndKey Unit:=wdStory
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
"DATE @ ""dddd d MMMM yyyy"" ", PreserveFormatting:=True
Selection.TypeParagraph
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
"FILENAME * Lower ", PreserveFormatting:=True
Selection.TypeParagraph
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
"DOCPROPERTY Words ", PreserveFormatting:=True
Selection.MoveLeft Unit:=wdCharacter, Count:=5, Extend:=wdExtend
Selection.Cut
Selection.PasteSpecial DataType:=wdPasteText
End Sub

(Je vindt deze code van de macro ook op het forum.) Kopieer ze volledige code vanaf Sub tot en met de End Sub, en plak ze in de Editor achter de laatste, reeds bestaande End Sub. Normaal zou je nu in het lijstje macro’s ook de macro Lovlay1 moeten zien. Lukt het?

Je macro’s Welkom en Hallo herhalen natuurlijk altijd dezelfde tekst, namelijk de tekst die in de code staat. Toen je "tweede" wou wijzigen in "derde" moest je daarom de code veranderen. Dit is natuurlijk geen praktische manier van werken. Het zou toch gemakkelijker zijn moest de macro jou vragen de hoeveelste macro dit nu al is. Dat kan, en het is zelfs helemaal niet moeilijk! In Visual Basic bestaat namelijk een functie waarmee je een vraag kan stellen. Dat gebeurt dan in een Windows-venstertje, met een invulvak, een OK-knop en een Annuleerknop.

De functie InputBox()
Die functie heet InputBox(), een vrij logische naam. We gaan nu die functie gebruiken in onze code zodat de macro je voortaan zal vragen de hoeveelste macro dat ondertussen al is.

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.