Visual Basic for Applications

programmeertaal

Visual Basic for Applications VBA is een programmeertaal die bestemd is om applicatieprogramma's te automatiseren of uit te breiden. Het is voornamelijk uit de Microsoft Office serie bekend, zoals Word, Excel en Access, maar wordt ook in andere applicaties gebruikt, zoals AutoCAD. De syntaxis van VBA is aan Visual Basic ontleend. Hieraan is een aantal opdrachten voor communicatie met de moederapplicatie toegevoegd. Het is met VBA niet zoals met Visual Basic mogelijk om een onafhankelijk programma te schrijven, VBA heeft steeds de moederapplicatie nodig. VBA is evenals Visual Basic een quasi objectgeoriënteerde programmeertaal.

VBA vervangt macrotalen, zoals WordBasic, dat in de oudere versies van Microsoft Word werd gebruikt. Er bestaan verschillende varianten van VBA, die ieder voor een bepaalde applicatie zijn bedoeld. Tussen deze varianten kunnen kleine verschillen bestaan. Het versienummer van een VBA is niet gelijk aan het versienummer van de overeenkomstige versie van Visual Basic, maar geeft de versie weer van de applicatie waarvoor de VBA versie gemaakt werd. VBA is voor bijna alle Microsoft Office applicaties zoals Word, Excel, Access, Outlook en PowerPoint beschikbaar. Met behulp van VBA is het mogelijk toepassingen te automatiseren en de functionaliteit van de applicatie kan daardoor enigszins worden uitgebreid. VBA wordt dan gebruikt als een macrotaal voor die applicatie, waarin extra functies voor die applicatie kunnen worden geprogrammeerd. De basisfunctionaliteit van het applicatieprogramma kan in een VBA programma worden aangeroepen. Een programmeur kan hiermee bijvoorbeeld een compleet systeem voor een ledenadministratie maken op basis van het bestandsbeheerprogramma Access, in combinatie met zelf-geprogrammeerde functies in VBA.

Het sterke punt van VBA is de eenvoudige integratie met het OLE-automation model, hierdoor is het mogelijk op eenvoudige wijze verschillende applicaties aan elkaar te koppelen. Hieruit worden vaak taken die normaal handmatig worden uitgevoerd, zoals het opzoeken en overtypen van adressen, op een eenvoudige manier geautomatiseerd. Het zwakke punt van VBA is het gebrek aan kracht in de taal en de beperkte verzameling datatypen, die applicaties en VBA zelf aanleveren, maar dit is afhankelijk van de applicatie waarin VBA draait. Zo biedt VBA in Excel en Access veel meer mogelijkheden om in interactie te treden met de geopende spreadsheet of database dan VBA in Powerpoint. De logische onderdelen en gekozen gebieden van het werkblad kunnen bijvoorbeeld in Excel als apart datatype of als variabele worden opgenomen. Een nadeel van de toepassing van VBA is nog dat daarmee virussen en andere malware in een bestand terecht kunnen komen. Veel systeembeheerders beperken of verbieden daarom het gebruik van VBA. VBA, maar ook Access, worden in de praktijk steeds minder gebruikt en door andere programma's vervangen.

Wikibooks heeft een Engelstalig boek over dit onderwerp: Visual Basic for Applications.