Opdatering af felter

Denne side omhandler det problem, at Word ikke som standard kan opdatere felter i alle tekstbokse i dokumentet på en gang.

Først beskrives problemstillingen og nederst på siden angives en løsning baseret på en makro fremstillet af Lene Fredborg (www.thedoctools.com)

 

  • Vælg fanen Indsæt | gruppen Tekst

  • Tryk fold-ud-pil ved Objekt

  • Vælg Tekst fra fil...

 
  • Lokaliser filen Side om løver.docx på skrivebordet og tryk Indsæt i boksen Indsæt fil

  • Bemærk numrene på figurerne i det samlede dokument

  • Tast CTRL+A for at markere hele dokumentet

  • Tast F9 for at opdatere felter

  • Afmærk Opdater alt (1)

  • Tryk OK (2)

 

  • Afmærk Opdater alt (1)

  • Tryk OK (2)

 

  • Bemærk numrene på figurerne for Løven (1) - det er opdateret

  • Bemærk numrene på figurerne for Chimpansen (2) - det er ikke opdateret

 

  • Anbring markøren før 2-tallet i billedteksten

Herved markeres feltet

  • Tast F9 for at opdatere feltet

Så er billedteksten korrekt, men hvorfor opdateres dette felt ikke på linje med de øvrige? Du havde jo markeret hele dokumentet inden du tastede F9 for at opdatere alle felter!
  • Tast CTRL+A for at markere hele dokumentet

  • Bemærk at billedteksten ikke markeres ved ved Chimpansen mens den gør ved løven!

Forskellen på de to billedtekster skyldes, at billedet af løven er indsat på linje med tekst, mens billedet af chimpansen er indsat med tekstombrydning.

Når man efterfølgende indsætter billedtekster bliver disse indsat hhv. på linje med tekst og i en tekstboks.

Desværre markeres indholdet i tekstbokse ikke, når man markerer alt. Du er derfor nødt til at opdatere  hver enkelt tekstboks, der indeholder felter individuelt eller du kan installere en makro der løser problemet en gang for alle.


Opdatering alle felter i et dokument på en gang

Lene Fredborg (www.thedoctools.com) har fremstillet en makro, der løser ovenstående problem.

For at redigere en makro har du brug for fanen Udvikler i båndet.
  • Tryk Officeknappen (1)

  • Tryk Wordindstillinger (2)

Herved åbnes for boksen Wordindstillinger

 

  • Vælg Populær (1)

  • Afmærk Vis fanen Udvikler i båndet (2)

  • Tryk OK

Herved fremkommer fanen Udvikler i båndet

Så er du klar til at oprette en makro.
  • Vælg fanen Udvikler | gruppen Kode

  • Tryk Indspil makro

Herved fremkommer boksen Indspil makro

  • Skriv Makronavn OpdaterAlleFelter (præcis som der står, uden mellemrum) (1)

  • Skriv en beskrivelse (2)

  • Tryk Knap (3)

Herved fremkommer boksen Word-indstillinger.

 

  • Markér  Normal.NewMacros.Opdat... (1)

  • Tryk Tilføj (2)

 

 

  • Markér  Normal.NewMacros.Opdat... (1)

  • Tryk Rediger (2)

Herved fremkommer boksen Knappen Rediger

  • Ret Vist navn som vist (1)

  • Vælg en knap (2)

  • Tryk OK (3)

 

 

  • Tryk OK

Herved omdannes markøren til en båndoptagerkassettemarkør.

Nu er du ved at indspille en makro, der vil registrere dine handlinger, indtil du trykker Stop indspilning.

  • Vælg fanen Udvikler | gruppen Kode

  • Tryk Stop indspilning

Nu har du en makro, der ikke udfører noget som helst.

  • Tryk Makroer

Herved åbnes boksen Makroer.

  • Lokaliser  makroen OpdaterAlleFelter (1)

  • Tryk Rediger (2)

Herved åbner programmet Microsoft Visual Basic

 

Her ser du koden for den virkningsløse makro, du lige har oprettet.
  • Slet den viste kode

 

  • Marker  koden i rammen til højre på denne side

  • Tast CTRL+C (Kopier)

 

 

Sub OpdaterAlleFelter()

    Dim oStory As Range

    'Hvert område i et dokument er en 'Story'

    'Gennemløb alle stories og opdater felter deri

    For Each oStory In ActiveDocument.StoryRanges

        oStory.Fields.Update

        If oStory.StoryType <> wdMainTextStory Then

            While Not (oStory.NextStoryRange Is Nothing)

                Set oStory = oStory.NextStoryRange

                oStory.Fields.Update

            Wend

        End If

    Next oStory

    'Ryd op

    Set oStory = Nothing

End Sub

  • Klik  i den tomme boks

  • Tast CTRL+V (Sæt ind)

Nu skal makrokoden være i boksen.

  • Tryk Gem

 

  • Vælg menuen File  (1)

  • Vælg Close and Return to Microsoft Word (2)

Så er du tilbage i Word igen.

 

I værktøjslinjen Hurtig adgang har du nu en ny knap.
  • Tryk Opdater alle felter

Så! Nu opdateres også felter i tekstbokse.

Stor tak for makroen til Lene Fredborg (www.thedoctools.com)!