Programmering med Office

Visual Basic for Applications er Microsofts scriptingsprog til Office-kontorsuiten. Der er tale om et særdeles stærkt værktøj, der kan bruges til trivielle makroer såvel som komplekse databaseorienterede løsninger. I den første af en række artikler kigger vi på programmeringsmiljøet i Office.

Fuldt udviklingsmiljø

Visual Basic for Applications giver udvikleren et fuldt udviklingsmiljø som indeholder mange af de elementer, der findes i den "rigtige" Visual Basic, så som nem redigering af egenskaber og værktøjer til aflusning.

Der er flere måder at skrive VBA-programmer på. En metode er selvfølgelig at skrive det hele fra bunden, og det gør vi i denne artikel. En anden mulighed er at optage en makro på den gammeldags facon. Når man optager en makro i et Office-program, bliver de optagede handlinger gemt som VBA-kommandoer, som man derefter kan efterredigere i. Det kan være en nem måde at komme i gang på, da man hurtigt får et overblik over, hvilke egenskaber og metoder der ligger bag en given funktion i programmerne.

De følgende eksempler er skabt med Office 2000 Premium Edition under Windows 2000. Det kan i øvrigt anbefales at finde Office 2000-cd'en frem, da VBA's hjælpefiler ikke er installeret i en standardinstallation af Office.

Mit første VBA-program

Hallo verden
Lad os straks skrive det første lille program, hvor vi stifter bekendtskab med VBA-editoren. Åbn Word, og vælg menuen Funktioner > Makro > Visual Basic Editor. Nu åbnes VBA-kodeeditoren.

Til venstre ser vi Project Explorer-vinduet, som viser de filer, der hører til det aktuelle projekt. Her er "projektet" lig med vores Word-dokument. Til højre har vi kode-vinduet, som er stedet, hvor VBA-koden indskrives.

Nu hedder det jo ikke Visual Basic for ingenting - VBA er et Rapid Development-værktøj (RAD), og det indebærer, at mange opgaver kan løses ved at manipulere med symboler. Klik på knappen Design Mode i VBA-editoren. Nu kommer værktøjspaletten Kontrolelementer til syne.

Den kan benyttes til at indsætte kontroller, som er Microsofts navn for brugerfladeelementer, i applikationen. Applikationen er i dette tilfælde et Word-dokument, så vi vender tilbage til Word. Vi indsætter nu en knap ved at klikke på det tredie ikon i værktøjspaletten Kontrolelementer.

Test

Vi kan nu teste vores knap ved at klikke Designtilstand fra. Det gøres ved at klikke på den øverste, første knap i Kontrolelementer - den med den turkisfarvede vinkel. Nu kan man klikke på vores hjemmelavede knap - men den gør bare ikke noget. Så det får vi den til.

Vend tilbage til designtilstand ved at klikke på det turkisfarvede ikon igen, og dobbeltklik på vores egen, hjemmelavede knap i Word-dokumentet. Nu hopper Office tilbage til VBA-editoren, og i kode-vinduet ser vi nu den funktion - event-handler - som aktiveres, når brugeren klikker på knappen i Word-dokumentet.

Nu tilføjer vi nogle kode-linier imellem de to linier

Private Sub CommandButton1_Click()

End Sub

- og det, vi tilføjer, er en dialog-boks, der hilser på verden. Det ser sådan ud i Visual Basic:

MsgBox "Hej Verden!"

så det hele ser nu sådan ud:

Private Sub CommandButton1_Click()
   MsgBox "Hej Verden!"
End Sub

Når vi nu vender tilbage i Word, og slår designvisning fra, så kan vi klikke på vores knap, og så ser det sådan ud:

Nu ser det lidt dumt ud med en knap hvor der står CommandButton, så lad os pille lidt ved kontrollens - knappens - egenskaber. Vend tilbage til VBA-editoren, og vælg menuen View > Properties Window. Her kan egenskaber for kontrollen sættes, og her sætter vi knappens tekst til "Klik på mig".

I den næste artikel, som kan læses i næste uge, ser vi mere indgående på de funktioner, VBA-editoren tilbyder, og vi går i gang med et lidt mere omfangsrigt eksempel.

Annonceindlæg fra Computerworld it-jobbank

Mød 3.500+ it-talenter på IT-DAY 2026

Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.

Navnenyt fra it-Danmark

ChangeGroup ApS har pr. 12. januar 2026 ansat Morten Benn som Administrerende direktør. Han kommer fra en stilling som Partner hos Nosco. Nyt job

Morten Benn

ChangeGroup ApS

Adeno K/S har pr. 2. februar 2026 ansat Rikke Badsberg som ServiceNow Specialist. Hun kommer fra en stilling som ServiceNow administrator and developer hos Kamstrup. Nyt job

Rikke Badsberg

Adeno K/S

Idura har pr. 5. januar 2026 ansat Arjuna Enait, 34 år,  som software engineer. Han skal især beskæftige sig med videreudvikling af Verify-systemet samt arbejde på implementeringen af CIBA i Norsk BankID. Han kommer fra en stilling som software engineer hos Lasso X. Han er uddannet civilingeniør med speciale i geoteknik. Han har tidligere beskæftiget sig med at bygge microservices til dataindsamling og -processering, samt opdatere legacy-systemer. Nyt job

Arjuna Enait

Idura