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.

Læses lige nu

    Annonce

    Computerworld Events

    Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

    Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
    Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
    Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
    Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

    Digital transformation | Frederiksberg

    Roundtable: AI i drift – fra eksperimenter til ansvar, værdi og kontrol

    AI-initiativerne breder sig hurtigt, men skaleringen halter. Kun hver fjerde virksomhed har flyttet en større del af sine AI-eksperimenter i produktion. Computerworld samler en udvalgt kreds af CIO’er og digitale beslutningstagere til et...

    Sikkerhed | Online

    Det du glemmer i Azure - men aldrig on-prem: Sådan genfinder du kontrollen

    Undgå dyre fejl i Azure. Få styr på udfasede services, skjulte omkostninger og governance. Lær, hvordan Reserved Instances, Azure Hybrid Benefit og de rette styringsmekanismer giver mere værdi, lavere omkostninger og en mere robust Azure-platform....

    Se alle vores events inden for it

    Navnenyt fra it-Danmark

    Netip A/S har pr. 1. august 2026 ansat Ronni Randrup som Seniorkonsulent ved netIP's kontor i Aalborg. Han kommer fra en stilling som Operations Consultant hos Complea. Nyt job

    Ronni Randrup

    Netip A/S

    Norriq Danmark A/S har pr. 1. januar 2026 ansat Allan Kimmer Jensen som Lead Solution Architect. Han skal især beskæftige sig med at sikre vores kunder får en verdensklasse brugeroplevelse gennem stærk frontend-arkitektur og kodekvalitet. Han kommer fra en stilling som Freelance Consultant hos Remmik. Han er uddannet hos Center for Medie og Kommunikation, Roskilde. Nyt job

    Allan Kimmer Jensen

    Norriq Danmark A/S

    Martin Grooss Carpentier, Software Architect hos Kamstrup, har pr. 29. juni 2026 fuldført uddannelsen Master i it, linjen i softwarekonstruktion på Aarhus Universitet via It-vest-samarbejdet. Færdiggjort uddannelse
    Norriq Danmark A/S har pr. 1. juni 2026 ansat Nikolaj Henrik Pieter Jansen som Junior Consultant. Han skal især beskæftige sig med at understøtte vores konsulenter med praktiske og analytiske opgaver på diverse kundeprojekter. Han kommer fra en stilling som Digital Advisor & Account Manager hos Twentyfour. Han er uddannet hos IT-Universitetet i København. Han har tidligere beskæftiget sig med salg og projektstyring. Nyt job

    Nikolaj Henrik Pieter Jansen

    Norriq Danmark A/S