Makro – opdater alle felter i et Word-dokument

Via denne artikel får du adgang til en VBA makro, som kan opdatere alle felter i et Word-dokument, uanset hvor de er placeret: sidehoved, sidefod, fodnoter, slutnoter osv.

Denne artikel er senest opdateret 1. december 2019.  Du har nu bl.a. adgang til en ny og forbedret makro.

I Word bruges felter til mange formål. Et felt indeholder instruktioner til Microsoft Word om, hvad programmet skal gøre. Der kan være brug for at opdatere felter i Word, hvis der er ændret på indholdet i et dokument.

Der findes et meget stort antal typer af felter, man kan bruge i Word. Almindeligt brugte felter er sidetal, dato, indholdsfortegnelser og krydshenvisninger. Felter bruges desuden til brevfletning.

Felter rummer fantastiske muligheder for at styre indholdet i dokumenter. Jeg har i andre artikler forklaret, hvordan felter virker, og hvordan du med fordel kan udnytte specifikke typer af felter, eller hvordan du kan løse problemer med visse felter. Du kan finde disse artikler under kategorien Felter til højre.

Hvis du er vant til at bruge felter, ved du allerede, at man har brug at opdatere felterne, hvis man har ændret noget, som påvirker felternes indhold. Hvis du f.eks. har indsat en indholdsfortegnelse eller nogle krydshenvisninger og efterfølgende har ændret i dokumentet, har du brug for at opdatere felter for at få Word til at rette Indholdsfortegnelsen og krydshenvisningerne.

Man kan opdatere felter ved at markere tekst og taste F9 eller højreklikke og vælge Opdater alle felter. Det vil opdatere alle felter i det markerede. Hvis markøren står i dokumentets hovedindhold, kan du taste Ctrl+A for at markere alt og derefter taste F9 for at opdatere felter – det er let og hurtigt, og det er i en del tilfælde tilstrækkeligt. Der er bare lige det problem, at det kun vil opdatere felter i selve det markerede område. Hvis ud f.eks. har felter i sidehoved, sidefod eller i tekstbokse, fodnoter eller slutnoter, vil disse felter ikke blive opdateret. Du vil så være nødt til at markere disse områder et for et og opdatere felter deri.

Makro klar til brug – opdater alle felter

Der er dog en anden mulighed. Ved hjælp af en makro kan du på én gang opdatere alle felter i alle områder af dokumentet.

Jeg har tidligere publiceret en makro, OpdaterAlleFelter,  direkte på denne side. Jeg har imidlertid lavet en ny makro, som tager højde for flere ting. Den tilbyder bl.a. at slå registrering af ændringer fra, mens felter opdateres, så du undgår at få alle opdaterede felter markeret som ændringer.

Den nye makro finder på på min engelske website DocTools Word Macros & Tips. Du kan finde artiklen med makroen via linket nedenfor:

Makroen hedder UpdateAllFieldsInDocument. Du kan f.eks. kopiere makroen til din Normal.dotm, så du har let adgang til den.

Opdater alle felter – et lille udsnit af makroen

Et lille udsnit af makroen til at opdatere alle felter i et Word-dokument.

Hvis du har Word 2007 eller en senere version, kan du føje makroen til værktøjslinjen Hurtig adgang (QAT). Hvis du har Word 2003 eller tidligere version, kan du lave en knap i en værktøjslinje, som udfører makroen. Så kan du udføre makroen og derved opdatere alle felter med et enkelt klik.

Du kan også knytte en tastaturgenvej til makroen, hvis du ønsker det. Hvis du har brug for hjælp til at installere makroen, kan du finde en (engelsk) vejledning her:

I den engelske artikel med Word-makroen,  som opdaterer alle felter, finder du også links til andre artikler relateret til felter i Word.

Tags: , , , ,
  • Hej Lene

    Jeg kan ikke finde funktionen til at opdatere felter automatisk ved åbning af dokumentet. Syntes det var muligt i tidligere versioner af Word.

    For eksempel nå jeg indsætter felt filnavn+filsti så ønsker jeg at filsti opdateres når jeg har flyttet filen til en anden mappe.

    Har du en løsning?

    Gunnar

    • Der er ikke og har ikke været nogen indstilling til automatisk opdatering af felter ved åbning af dokumenter. Der er en indstilling til automatisk opdatering af felter, når du udskriver – måske det er den, du tænker på. I Word 2010 og senere versioner findes indstillingen her: Filer > Indstillinger > Vis > Opdater felter før udskrivning.

      Du kan få opdateret felter automatisk, når du åbner et dokument, hvis du f.eks. i Normal.dotm gemmer makroen, som findes i artiklen her, og ændrer dens navn til AutoOpen, dvs. at teksten i første linje af makroen skal være:
      Sub AutoOpen()

  • Hej Lene

    Kan det passe at jeg ikke kan få macroen til at virke i word 2013? Den tager ikke sidehoved og sidefod med på alle sider. Jeg har forskellig lige og ulige sidehoved-fødder og den retter kun i de ulige. Har jeg oprettet dem forkert eller er det macroen (som ellers er super).

    Med tak for rigtig god blog
    Hanne

    • Hej Hanne

      Makroen virker også i Word 2013. Der kan forekomme specielle konstruktioner, hvor felter ikke bliver fanget og dermed opdateret af makroen ovenfor. Det gælder f.eks. felter, som findes inde i tekstbokse i et lærred (drawing canvas) i sidehoved eller -fod. Måske du har en speciel opsætning i de lige sidehoveder/-fødder? Eller er du måske kommet til at låse felter? Låste felter vil ikke blive opdateret, uanset hvor de er placeret. Felter kan låses med Ctrl+F11 og låses op med Ctrl+Shift+F11.

      Lene Fredborg

  • >