Klik hier om Silverlight te installeren*
NederlandWijzigen|Alle Microsoft sites
Microsoft*
Zoek op Microsoft.com naar:
Zeker Ondernemen 
|Contact|Mijn gegevens|Nieuwsbrieven|RSS|Zeker Ondernemen +
Techniek en trends

Basiscursus Visual Basic for Applications - deel 1

 
Met Office is meer mogelijk dan wat de applicaties standaard bieden. Office is namelijk een omgeving die u geheel naar uw hand kunt zetten met de VBA-programmeertaal.
 
Stap voor stap wordt in deze cursus beschreven hoe u in alle versies van Word een dialoogvenster bouwt compleet met tekstvakken en knoppen.
 
Gerelateerde training
 
Voor deze training moet u lid zijn van Zeker Ondernemen +. U kunt zich hiervoor gratis aanmelden.
 
Nieuwe functies
Macro
VBA
Macro's bewerken
Dialoogvenster maken
Schets op papier
Projectverkenner en Eigenschappen
Werkset
Captions
Tekstvakken
Titelbalk
Dialoogvenster openen
Test

Nieuwe functies

Word en de andere Office-applicaties zijn rijk bedeeld met functies. Toch kan het zijn, dat u bepaalde functies mist of dat u veel handelingen moet verrichten om een bepaalde taak uit te voeren. In die gevallen komt de Visual Basic for Applications programmeeromgeving van Office u te hulp. In die omgeving bouwt u applicaties op maat, om binnen Word en de andere Office-applicaties efficiënter te kunnen werken. U maakt dialoogvensters op maat, afgestemd op de processen binnen uw organisatie, u legt koppelingen tussen documenten, u automatiseert tijdrovende procedures enzovoort. In deze cursusreeks wordt stap voor stap beschreven hoe u een Word-dialoogvenster maakt met een aantal tekstvakken en knoppen.
 
Zodra de tekstvakken zijn ingevuld klikt u op de OK-knop en worden de ingevulde gegevens naar het document gekopieerd. U kunt zich voorstellen dat dit voor bepaalde documenten een plezierige manier van werken is: immers, u of een andere gebruiker hoeft niet in het document te typen, maar kan allerlei variabele gegevens, die meestal her en der over het document verspreid staan, overzichtelijk in een dialoogvenster invullen. Hiermee is deze oplossing een welkom alternatief voor bekende functies, zoals het Word-formulier.
 
Schermafbeelding: nieuwe macro opnemen
 

Macro

Voordat hieraan begonnen kan worden is eerst enige basiskennis van macro's nodig. Een macro is in principe een verzameling opdrachten. Telkens wanneer die opdrachten opnieuw moeten worden uitgevoerd, hoeft u alleen maar de macro opnieuw te starten. Zoals een Word-macro die een regel vet zet; zo'n macro is handig voor titels en tussenkopjes in uw tekst. Voordat die macro kan worden gebruikt, moet hij eenmalig worden opgenomen: al uw opdrachten worden tijdens de macro-opname geregistreerd en vastgelegd voor reproductie.
 
  1. Start Word en inventariseer eerst welke opdrachten nodig zijn voor het vet zetten van de regel.
  2. In het documentvenster van Microsoft Word typt u een regel tekst, bijvoorbeeld de titel "Regel vet zetten met de hand".
  3. Klik ergens midden in de regel en start de macro-opname met Extra >> Macro >> Nieuwe macro opnemen. Geef de macro een naam, bijvoorbeeld Regelvet.
  4. Verplaats de cursor naar het begin van de regel en selecteer de regel tot het einde met Shift+End.
  5. Klik nu op de Vet-knop of druk op Ctrl+B.
  6. Druk op de End-toets om de selectie op te heffen. Regel 1 is nu vet gezet.
  7. De macro-opname kan worden gestopt. Klik daartoe in het venstertje Opname op de vierkante knop Opname stoppen.
 
Om te onderzoeken of het goed gegaan is moet u de macro nu afspelen: typ een derde regel "Regel vet zetten met macro" en kies Extra >> Macro >> Macro's. Zoek in de lijst onder Macronaam de naam van de macro op (RegelVet), klik erop en klik op Uitvoeren (Run). Als alles goed gaat wordt nu ook de derde titelregel vet gezet. Dit kan sneller: typ weer een regel, bijvoorbeeld "Regel vet maken met Alt+F8", klik ergens in de regel, druk op sneltoets Alt+F8 (Macro uitvoeren) en dubbelklik in de lijst op de macronaam Regelvet. Dit zijn nog steeds twee handelingen, maar het kan ook met één.
 

VBA

Om te zien hoe de macro Regelvet er in VBA uitziet, kiest u Extra (Tools) >> Macro >> Visual Basic Editor. Handiger is het gebruik van de sneltoets Alt+F11; daarmee schakelt u namelijk snel heen en weer tussen document en VBA-editor. Probeer dit zelf uit, dus druk een paar maal op Alt+F11, het is een sneltoets die u in de toekomst vaak zult gebruiken.
 
Schermafbeelding: Normal
 
In het VBA-scherm ziet u links op het scherm het venster van de Projectverkenner, waarin de naam van de standaardsjabloon Normal vermeld staat en de namen van alle momenteel geopende documenten, in dit verband aangeduid als Projecten, zoals Documentx. Dubbelklik op Normal en op Documentx, zodat eronder mapjes of pictogrammen verschijnen. Als er mapjes verschijnen opent u het mapje Modules. Een macro wordt in VBA een Procedure genoemd en komt terecht in de module NewMacros van Normal of (als Normal.dot met een wachtwoord beveiligd is door de systeembeheerder) van het project Documentx  (zie afbeelding). Dubbelklik op de desbetreffende NewMacros. Rechts op het scherm verschijnt de inhoud van alle procedures, die in NewMacros aanwezig zijn, waaronder:
 
  1. Sub Regelvert()
  2. '
  3. ' Regelvet()
  4. ' Regelvet Macro
  5. '
  6. Macro opgenomen op 31 12 05
  7. Selection.HomeKey Unit:=wdLine
  8. Selection.EndKey Unit:=wdLine, Extend:=wdExtend
  9. Selection.Font.Bold = wdToggle
  10. Selection.EndKey Unit:=wdLine
 
Schermafbeelding: procedure
 
Een procedure begint met Sub, gevolgd door de naam van de procedure, dus Regelvet. Groene regels die beginnen met een apostrof geven alleen informatie en hebben geen betekenis voor de macro. De volgende vier regels vertegenwoordigen elk een van de vier uitgevoerde opdrachten:
 
  • regel 6 staat voor het drukken op de Home-toets,
  • regel 7 voor het selecteren van de regel tot en met het eind (End), 
  • regel 8 voor het kiezen van vet schrift en
  • regel 9 voor het opheffen van de selectie door middel van End.
 
De procedure eindigt met de opdracht End Sub. Ertussen staat een automatisch geplaatste horizontale streep.
 

Macro's bewerken

De Regelvet-macro is maar een simpel voorbeeld. Krachtige macro-toepassingen worden niet opgenomen, maar direct getypt en bewerkt in de VBA-editor. Zo is de macro Regelvet uit te breiden door er een regel aan toe te voegen die de regel vet én cursief (of 'italic') maakt. Tussen regel 8 en 9 voegt u de volgende regel in:
 
Selection.Font.Italic = wdToggle
 
Controleer of dit werkt: keer terug naar het document met Alt+F11, typ onderaan het document een nieuwe titel en start de macro.
 

Dialoogvenster maken

Dialoogvensters zijn niet op te nemen, maar worden in de VBA-editor gemaakt. U gaat nu zo'n dialoogvenster maken met daarin een aantal tekstvakken. Als voorbeeld wordt uitgegaan van een offerte, waarin de datum en het offertenummer de variabele gegevens zijn.
 
  1. Start Word of sluit alle eventuele geopende documenten met Ctrl+F4 totdat het scherm grijs is. 
  2. Klik in de werkbalk op Nieuw of druk op Ctrl+N om een nieuw blanco document te beginnen. 
  3. Geef het lege document meteen een naam door het te bewaren via Bestand >> Opslaan als, kies bij Bestand opslaan als voor Documentsjabloon en vul bij Bestandsnaam in Offerte. Kies Opslaan.
  4. In de titelbalk staat nu Offerte.doc. Voorzie de sjabloon van vaste gegevens, zoals afzender, logo, de woordjes 'offertenummer' en 'datum' en eventuele andere zaken. Kies tussentijds Bestand >> Opslaan of druk op Ctrl+S om de gewijzigde situaties op te slaan.
 

Schets op papier

Als beginner is het verstandig om eerst een schets te maken van het dialoogvenster, waarin de variabele gegevens ingevuld moeten gaan worden: twee vakken met daarbij de omschrijvingen datum en offertenummer. In termen van Windows heten de vakken tekstvakken (textboxes) en de omschrijvingen bijschriften (labels). Vergeet de knoppen OK en Annuleren niet en denk ook aan een titelbalk. Is de schets gereed dan moet deze in de VBA-editor worden overgenomen. Schakel daarom nu over naar de VBA-editor via Alt+F11 of via Extra >> Macro >> Visual Basic Editor.
 

Projectverkenner en Eigenschappen

Links op het scherm staat de Projectverkenner, daaronder het venster Eigenschappen. Mist u een of beide vensters op uw scherm kies dan Beeld >> Projectverkenner en/of Beeld >> Venster Eigenschappen om ze op te roepen. De Projectverkenner laat de namen zien van alle momenteel geopende projecten: in ieder geval zijn dat Normal en Offerte.
 
  1. Rechtsklik op de vermelding Project(Offerte) en kies Invoegen >> UserForm.
 
Prompt verschijnt rechts een grijs venster met formaatgrepen (zie afbeelding). Met die formaatgrepen kunt u het venster groter en kleiner maken. De standaardafmeting is echter groot genoeg, dus dat is niet nodig. Voorlopig draagt het dialoogvenster de titel UserForm1.
 
Schermafbeelding: Offerte in Visual Basic
 

Werkset

De besturingselementen die toegevoegd moeten worden zijn twee tekstvakken, twee bijschriften en twee knoppen. Deze besturingselementen zijn op te halen uit het Werkset-venster (zie afbeelding).
 
  1. Staat dat niet op het scherm kies dan Beeld >> Werkset. Begin met de bijschriften.
  2. Klik in het Werkset-venster op Bijschrift en verplaats de muisaanwijzer naar het nog lege UserForm1.
  3. Merk op dat de muisaanwijzer de vorm heeft aangenomen van een kruis met daarnaast de letter A: deze vorm geeft aan dat u bezig bent met het plaatsen van een bijschrift. Positioneer het kruis ongeveer 3 mm uit de linker bovenhoek, klik en sleep de muisaanwijzer naar rechts en omlaag tot hij op het oog ongeveer 0,5 cm hoog en 2,5 cm lang is. Laat de muisknop nu los.
  4. Het grijze bijschriftvak is nu getekend en nog omgeven door formaatgrepen. Controleer linksonder in het venster Eigenschappen of de afmetingen kloppen: Height=15 (hoogte) en Width=70 (breedte). Dit zijn afmetingen in zetpunten (72 zetpunten zijn gelijk aan 2,54 cm). Klik en versleep de formaatgrepen om de afmetingen bij te stellen. Is het bijschriftvak in orde klik dan ergens in het grijs om de formaatgrepen uit te zetten.
  5. Klik weer kort op Bijschrift in het Werkset-venster en voeg op dezelfde wijze nog een bijschriftvak toe. Plaats dit tweede bijschriftvak circa 2 mm onder het eerste en maak het even groot.
 
Schermafbeelding: UserForm1 in Visual Basic
 

Captions

De inhoud van de bijschriftvakken is nu nog verkeerd (Labelx). Beide moeten nog van de juiste inhoud worden voorzien. Klik op het eerste bijschriftvak. Het Venster Eigenschappen geeft altijd de eigenschappen weer van het geselecteerde object, zoals in dit geval het eerste bijschriftvak. Een van die eigenschappen is Caption waar Label1 achter staat.
 
  1. Klik tweemaal achter Label1.
  2. Verwijder het woord met Backspace en typ het juiste bijschrift Datum en druk op Enter.
  3. Klik op het tweede bijschriftvak.
  4. Klik in het Venster Eigenschappen achter Label2 en wijzig deze tekst in Offertenummer.
 

Tekstvakken

Achter elk bijschrift hoort een Tekstvak. Klik ergens in het grijs van het UserForm1 om het venster Werkset weer te voorschijn te halen.
 
  1. Klik hierin op Tekstvak (ab|) en verplaats de muisaanwijzer naar UserForm1. De vorm van de muisaanwijzer is nu een kruis met daarbij de letters ab.
  2. Klik rechts van het bijschrift Datum en sleep de muisaanwijzer naar rechts en omlaag tot een wit vak van ongeveer 0,5 cm hoog en 4 cm breed is ontstaan.
  3. Controleer deze afmetingen in het Venster Eigenschappen bij Height en Width.
  4. Het tweede tekstvak kunt u op dezelfde manier maken, maar slimmer is om het eerste tekstvak te kopiëren: terwijl de formaatgrepen nog aan het Tekstvak zitten, drukt u op Ctrl+C (Kopiëren).
  5. Druk daarna op Ctrl+V (Plakken), klik in het nieuwe Tekstvak en sleep het vlak onder het eerste Tekstvak, rechts van Offertenummer.
 
Vergeet niet tussentijds regelmatig Bestand >> Opslaan te kiezen of op Ctrl+S te drukken om de sjabloon Offerte inclusief het UserForm1 te bewaren. Dit tussentijds bewaren is een voorzorgsmaatregel, voor het geval er iets mis mocht gaan (PC-storing, stroomuitval enzovoort).
 
Schermafbeelding: Offertegegevens
 

Titelbalk

De titelbalk van het venster vermeldt UserForm1. Klik in de titelbalk en merk op dat deze naam tweemaal voorkomt in het Venster Eigenschappen, namelijk bij Caption en bij (Name). De vermelding bij (Name) blijft ongewijzigd; voor Visual Basic blijft dit venster dus UserForm1 heten. Voor de presentatie later in het Word-document zorgen we wel voor een andere vermelding in de titelbalk. Dat betekent dat u de vermelding bij Caption wijzigt in Offertegegevens.
 

Dialoogvenster openen

Hoe weet Word nu, wanneer dit dialoogvenster getoond moet worden? Daartoe maakt u een macro, die u toekent aan een knop in de werkbalk. De macro krijgt de naam OpenVenster (een andere naam mag ook) en wordt als module aan het project Offerte toegevoegd. Rechtsklik daarom in het venster Project op Project(Offerte) en kies Invoegen >> Module. U ziet dat onder Project(Offerte) is toegevoegd Module1. Dubbelklik hierop. De cursor knippert nu rechts in een leeg scherm.
Macro's beginnen altijd met Sub gevolgd door de macronaam en twee haakjes; denk maar aan het eerdere voorbeeld Sub Regelvet(). Typ daarom de volgende regel over:
 
Sub OpenVenster()
 
Druk op Enter. Automatisch wordt de afsluiting van de macro toegevoegd:
 
Sub OpenVenster()
 
End Sub
 
Daartussen typt u de macroregels. Het gaat erom dat het dialoogvenster UserForm1 zich moet vertonen, in het Engels heet dat Show. De complete macro wordt:
 
Sub OpenVenster()
UserForm1.Show
End Sub
 
VBA probeert u zoveel mogelijk te helpen. U zag dat al met de automatische toevoeging van End Sub. Ook nadat u UserForm1 hebt getypt met daarachter een punt wordt u geholpen: u krijgt namelijk een lijst te zien van alle opdrachten die na UserForm1 zouden kunnen volgen. Show staat daar ook tussen. U kunt dit woordje desgewenst opzoeken in de lijst en erop klikken, maar u mag ook gewoon verder typen. Zodra u na Show een spatie typt verdwijnt de lijst.
 
Schermafbeelding: offerte
 

Test

Controleer of dit werkt. Bewaar uw werk met Ctrl+S en keer terug naar Word met Alt+F11.
 
  1. Start de macro met Extra >> Macro >> Macro's of met Alt+F8.
  2. Is het overzicht macronamen erg lang, klik dan bij Macro's in op Offerte.doc. Het venster laat dan alleen de macro's zien van het huidige project.
  3. Klik op OpenVenster >> Uitvoeren.
 
Schermafbeelding: Offertegegevens
Prompt verschijnt het dialoogvenster in beeld, compleet met titel en bijschriften. U kunt zelfs al gegevens invullen en met de Tab-toets langs de verschillende velden en knoppen gaan. Als u echter op de knop OK of Annuleren klikt gebeurt er niets.
 
Werkt het niet, open dan de hier te downloaden sjabloon offerte.doc met daarin het hier besproken dialoogvenster en de macro Openvenster. Zoek in de VBA-editor wat hierin anders is dan in uw versie en kom er zo achter wat er bij u fout is gegaan.
 

Tot slot

Voorlopig moet u het dialoogvenster sluiten met een dubbelklik rechtsboven op X. In deel 2 van deze cursusreeks wordt dit voorbeeld verder uitgewerkt: de knoppen OK en Annuleren krijgen dan elk een betekenis en het dialoogvenster zal automatisch worden gepresenteerd, zodra de sjabloon wordt geopend.
 

Gerelateerde artikelen

 
Beoordeel deze pagina

1 2 3 4 5 6 7 8 9
Slecht Goed
Vind een IT specialist.
Kies uw provincie.

Uitgebreid zoeken
Vind een Microsoft-gekwalificeerde small business-technologiespecialist in uw omgeving.

Abonneer u op de nieuwsbrief
Abonneer u op de nieuwsbrief
Downloads
Downloads
Gratis: meer dan 25 praktische downloads voor ondernemers

Wat zoekt u?

Zoek
RSS Zeker Ondernemen
 Ontvang de laatste artikelen van Microsoft Zeker Ondernemen via uw RSS-reader. (Wat is RSS?)
RSS Zeker Ondernemen

©2008 Microsoft Corporation. Alle rechten voorbehouden. Contact opnemen |Gebruiksvoorwaarden |Handelsmerken |Privacyverklaring