Word 97/VBA - Tekstsøgning i sidehoved
Hejsa eksperter...Jeg har følgende kode -
mit mål er at finde alle forekomster af en String (search) (i selve brødteksten _OG_ i sidehovedet) og erstatte den med en anden String (replace)
I øjeblikket kan jeg godt finde forekomster i brødteksten (doc.Range.Find) - men jeg kan ikke finde forekomster i sidehovedet -- hvordan gør jeg det ?????
KODE
------------
Private Sub cmdGo_Click()
Dim files
Dim rngRange As Range
Dim srcDir As String
Dim search As String
Dim replace As String
Dim doc As Word.Document
' initialisér fra GUI
srcDir = txtDirectory.Text
search = txtSearchFor.Text
replace = txtReplaceWith.Text
' find første fil i dir
file = Dir(srcDir, vbNormal)
' sålænge der er filer
Do Until file = ""
'åbn dokumentet
Set doc = Documents.Open(txtDirectory.Text + file)
'søg efter {search} i brødteksten
With doc.Range.Find
' hmmm hvad gør ClearFormating ???
.ClearFormatting
If .Execute(FindText:=search) Then
' DEBUG : udskriv at tekst er fundet (Klartekst)
lstChanged.AddItem ("found CLEARTEXT '" + search + "' in " + file)
End If
End With
' søg efter {search} i sidehovedet
' DETTE VIRKER IKKE
' struktur som ovenstående...
With doc.Sections.First.Headers(1).Range.Find
.ClearFormatting
If .Execute(FindText:="search") Then
lstChanged.AddItem ("found HEADER '" + search + "' in " + file)
End If
End With
' luk dokument igen
doc.Close
' hent næste fil
file = Dir()
Loop
End Sub
------------
Hvis der er en nemmere måde at lave search/replace på i et dokument (f.eks. uden at skulle åbne dokumentet) så er jeg også meget interreseret..
/Søren
