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)
|
|
|
|
|
|
|
|
|
|
|
|
Herved markeres 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! | |
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 gangLene 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. | |
|
|
Herved fremkommer fanen Udvikler i båndet |
|
Så er du klar til at oprette en makro.
Herved fremkommer boksen Indspil makro |
|
Herved fremkommer boksen Word-indstillinger.
|
|
|
|
Herved fremkommer boksen Knappen Rediger |
|
|
|
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. |
|
Nu har du en makro, der ikke udfører noget som helst. |
|
Herved åbnes boksen Makroer. |
|
Herved åbner programmet Microsoft Visual Basic
|
|
Her ser du koden for den virkningsløse makro, du lige har oprettet.
|
|
|
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 |
Nu skal makrokoden være i boksen.
|
|
Så er du tilbage i Word igen.
|
|
I værktøjslinjen Hurtig adgang har du nu en ny knap.
|
|
Så! Nu opdateres også felter i tekstbokse.Stor tak for makroen til Lene Fredborg (www.thedoctools.com)! |