Bra Utbildning AB

 

<-- Back
VBA & Objektmodeller
Arbeta med text
Bokmärken
Range
Fält
Formulärfält
Autotext
Doc var & Doc Prop
Words kommandon
Words dialogrutor
Automation
Externa Databaser

Arbeta med fält

Exempel 1: Uppdatera fält i dokumentet
ActiveDocument.Fields.Update

Exempel 2: Något mera omfattande fältuppdatering
Dim oRng As Range

For Each oRng In ActiveDocument.StoryRanges
   If Not oRng.StoryType = wdCommentsStory Then
      oRng.Fields.Update
   End If
Next

Exempel 3: Fullständig fältuppdatering
Dim oRng As Range
Dim oField As Field

For Each oRng In ActiveDocument.StoryRanges
   oRng.Fields.Update
   If Not oRng.StoryType = wdMainTextStory Then
      While Not (oRng.NextStoryRange Is Nothing)
         Set oRng = oRng.NextStoryRange
         If Not oRng.StoryType = wdCommentsStory Then
            For Each oField In oRng.Fields
               oField.Update
            Next
         End If
      Wend
   End If
Next
oRng


Infoga fält i dokument vid specificerad range oRng och omvandla därefter till vanlig text. 
Exempel: Datum med specificerat format infogas i dokument som fält och omvandlas till vanlig text.

With ActiveDocument
   .Styles(wdStyleNormal).LanguageID = wdEnglishUS ' el UK

   .Fields.Add Range:=oRng, _
      Type:=wdFieldCreateDate, _
      Text:="\@ ""MMM d, yyyy"""

   'alternativ metod än ovan
   ' .Fields.Add Range:=oRng, _
   ' Type:=wdFieldEmpty, _
   ' Text:="CREATEDATE \@ ""MMM d, yyyy""", _
   ' Preserveformatting:=True

  .Fields.Unlink
End With

Fältkoder i dokument

Följande kod visas därför att den brukar efterfrågas. Den kan infogas i ett dokument manuellt eller med kod. Parenteserna är fältparenteser (Ctrl-F9).

Infoga fältkoder i sidhuvud som visar sidnummer  1(17) endast om antal sidor är fler än 1
{ IF { NumPages } > 1 "{ Page } ({ NumPages })" }  

Några snabbkommandon för fält
Infoga fält: Menyn Infoga-Fält (Insert-Field)
Visa/Dölj Fältkoder: Alt+F9
Visa/Dölj 1 markerad fältkod: Skift+F9
Uppdatera fältinnehåll: 1) Markera fält 2)Uppdatera med F9
Infoga fältparenteser: Ctrl+F9