Söka och ändra innehåll i ett sidhuvud i word
Jag skriver ett macro som ska byta ut text i en header i ett worddokument. Att söka efter text i word-dokumentet gör jag på följande sätt:
Dim WordRange As Object
Set WordRange = WordApp.Activedocument.Content
WordRange.Find.Execute FindText:="<O-nummer>", Forward:=True
Denna kod kollar inte headern. Jag har följande kod för det men det vill inte fungera riktigt:
Dim WordRange As Object
Set WordRange = WordApp.Sections(1).Headers("wdHeaderFooterPrimary").Range
Word.Find.Execute FindText:="<Onummer>", Forward:=True
Vad är problemet? Vad ska jag göra annorlunda?
/Mattias
Svara
Sv: Söka och ändra innehåll i ett sidhuvud i word
Detta kanske är till nån hjälp:
<code>
Dim View As View
Set View = ActiveDocument.ActiveWindow.ActivePane.View
View.Type = wdPrintView
View.SeekView = wdSeekCurrentPageHeader
Selection.Find.Execute FindText:="<O-nummer>", Forward:=True
View.SeekView = wdSeekMainDocument
</code>
Svara
Sv: Söka och ändra innehåll i ett sidhuvud i word
Jag får alltid felet "Variabel not defined" när jag anger:
View.SeekView = wdSeekCurrentPageHeader
Samma sak om jag skriver:
Dim WordApp As Word.Application
Därför måste jag istället skriva:
Dim HeaderRange As Object
Set WordApp = CreateObject("Word.Application")
Men hur löser jag det med wdSeekCurrentPageHeader ??
/Mattias
Svara
Sv: Söka och ändra innehåll i ett sidhuvud i word
Låter som du saknas referens till Word. Använder du VB?
Annars kan du deklarera konstanten:
<code>
Const wdSeekCurrentPageHeader = 9
</code>
Svara
Sv: Söka och ändra innehåll i ett sidhuvud i word
Det var word-referensen som hade sklepat ur. Nu är det frid och fröjd igen.
Tack för svaren!
/Mattias
Svara