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: Detta kanske är till nån hjälp: Jag får alltid felet "Variabel not defined" när jag anger: Låter som du saknas referens till Word. Använder du VB? Det var word-referensen som hade sklepat ur. Nu är det frid och fröjd igen.Söka och ändra innehåll i ett sidhuvud i word
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?
/MattiasSv: Söka och ändra innehåll i ett sidhuvud i word
<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>Sv: Söka och ändra innehåll i ett sidhuvud i word
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 ??
/MattiasSv: Söka och ändra innehåll i ett sidhuvud i word
Annars kan du deklarera konstanten:
<code>
Const wdSeekCurrentPageHeader = 9
</code>Sv: Söka och ändra innehåll i ett sidhuvud i word
Tack för svaren!
/Mattias