Hvordan

Avanserte makroer i Word

Noen Word-brukere vet kanskje hvordan de skal registreres og gjentas automatisk en rekke handlinger, tekst og manipulasjoner som kan gjentas med en enkelt tastekombinasjon: en Word-makro. Men uten å innse det, satte de i gang med en veldig kraftig funksjonalitet som ligger bak hver modul i Microsoft Office: Visual Basic for Applications, eller kort sagt VBA. På denne måten åpner døren seg for en verden av dingser, triks og annen oppfinnsomhet som du kan utvikle selv.

Via meny eller tastatur

I Word 2003/2007 trykker du på Alt + F11 og vi kommer inn i VBA-redigereren. Dette gjøres også via Word 2007-båndet (kategorien Utvikler / Visual Basic-knapp) eller menyen i Word 2003 og tidligere (velg Verktøy / Makro / Visual Basic Editor). Med den samme Alt + F11 bytter vi frem og tilbake mellom Word og VBA-redaktøren. For å kjøre et tidligere innspilt makro- eller selvdesignet VBA-program, trykker vi Alt + F8, eller i Word 2007 klikker du på Makroer-knappen i kategorien Utvikler i båndet (eller i Word 2003: Verktøy / Makro / Makroer). Å starte et makroopptak kan da igjen via Record Macro-knappen (i Word 2003 og tidligere: Verktøy / Makro / Record new macro), men er mye raskere hvis vi dobbeltklikker på vindusikonet (i Word 2003 og tidligere: OPN eske).

Å registrere en operasjon som en makro er den enkleste måten å produsere VBA-kode på.

Ikke bare i Word

Nesten alle grunnleggende ferdigheter som er beskrevet i dette ekspertkurset, gjelder også i alle andre moduler i Microsoft Office: prøv ting i Excel, PowerPoint, Outlook, Access, Project eller Visio. Faktisk er det mye programvare fra andre parter, som også har valgt å tilby VBA som makrospråk, komplett med VBA-editoren og alle nevnte snarveier, inkludert AutoCAD, iGrafx FlowCharter, CorelDRAW, WordPerfect Office, BusinessObjects, etc .

De første trinnene

Den enkleste måten å få tilgang til VBA-verdenen er å registrere en redigering i en makro, som du deretter utvider og avgrenser ved å kode ekstra funksjonalitet. Anta for eksempel at du bestemmer deg for i et eksisterende dokument å ha hver setning i en tekstblokk etterfulgt av to mellomrom i stedet for ett. En første tilnærming for dette er å gjentatte ganger ringe opp søke / erstatte-funksjonen (se også ekspertkurset 'Søk og erstatt' i forrige utgave av Computer! Totaal): søk etter en periode etterfulgt av et mellomrom og erstatt den med en periode med to mellomrom. Begynn deretter på nytt for spørsmålstegnet, utropstegnet osv. Dette skal være raskere og mer elegant, ikke sant? Videre til VBA!

VBA-redaktøren

La oss inkludere det første erstatningsslaget i en makro som vi godtar standard foreslått betegnelse Makro1 for og indikere at vi ønsker å lagre den i gjeldende Dokument1. Deretter trykker vi på Alt + F11, og vi havner i VBA-redaktøren. Herfra må vi akseptere en tospråklig verden: brukergrensesnittet forblir på nederlandsk (eller hvilket språk som Word brukes på), men koden er alltid på engelsk, selv om den tjener til å automatisere et nederlandsk ord. Hovedarbeidsområdene i VBA-redigereren er Kodevinduet og Prosjektutforskeren. Sistnevnte viser alle aktive dokumenter og maler i en trestruktur. Vi utvider Project (Document1), og vi ser tre grener: Microsoft Word-objekter, moduler og referanser, hver med ett underliggende nivå. Under moduler er dette NewMacros. Til slutt, hvis vi dobbeltklikker på NewMacros, vises koden som vi (uten å vite det) genererte i kodevinduet.

Alt + F11 tar oss fra hvilken som helst modul i Microsoft Office til VBA-redigereren.

Struktur

En selvstendig programvare kalles en subrutine i VBA. Derfor er all koden den inneholder mellom instruksjonene Under og Slutt Sub stat. Nybegynneren Under blir etterfulgt av et navn du velger for rutinen. Hvis det er en innspilt makro, er dette navnet som ble valgt i Word-dialogen før innspillingen startet. Men dette kan fortsatt endres i redaktøren. Navnet du bruker vises i listen over tilgjengelige makroer som du åpner med Alt + F8.

Instruksjoner og erklæringer kan komme mellom disse to linjene, i prinsippet en per linje, med mindre de skilles av kolon. En linje som begynner med en apostrof (') indikerer en kommentarlinje. Slike tekststykker har ingen innflytelse på løpet av programmet: de hoppes over og tjener derfor kun som dokumentasjon. De blir automatisk satt i grønt av VBA-redaktøren. Reserverte nøkkelord vises i blått, resten av teksten i svart, linjer med feil i rødt. En linje med kildekoden lukkes ved å trykke Enter: ikke bruk punktum eller andre skilletegn, med mindre koden fortsetter (for eksempel av lesbarhet, for eksempel) på neste linje: da avslutter vi linjen med et mellomrom og et 'understrek '(det flate dashbordet: _).

Erklæringer er foreløpige kunngjøringer av variabler vi har tenkt å bruke, med deres type. Slike varsler starter med nøkkelordet Dim, etterfulgt av et navn du ønsker for variabelen, deretter Aske og typen (se ramme). De er valgfrie, med mindre Declare Variables Required er merket av i Editor-fanen under Tools / Options, eller hvis vi gjør det i begynnelsen av koden (dvs. før den første Underlinje) instruksjonen Stedalternativ eksplisitt.

I alternativene til VBA-editoren indikerer vi om vi vil at variabler skal deklareres eksplisitt.