Hallo Tobias,
Frage: wo liegt denn das Makro? Du beziehst dich im Code auf ThisDocument. Wenn das Makro also in einem Modul von Normal.dot liegt, sucht er in Normal.dot und nicht im aktiven Dokument. Folglich bleibt die Variable leer, da er nix findet. Versuchs mal mit ActiveDocument. Dann kommt es jedoch auch bei mir zu einer Endlosschleife. Die kannst du nur durchbrechen, indem du prüfst ob der erste gefundene Wert erneut gefunden wird:
Dim quelldoku As Document
Dim fundwort As String
Dim fundbereich As Range
Dim zwischenspeicher As String
Set quelldoku = ActiveDocument
'gesuchtes Wort abfragen
fundwort = "__product_name*/"
'das ganze Dokument durchsuchen
Set fundbereich = quelldoku.Range
With fundbereich.Find
.ClearFormatting
.Text = fundwort
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
'.Wrap = wdFindStop
fundbereich.Find.Execute
Start = fundbereich.Text
Do While fundbereich.Find.Execute = True And fundbereich.Text <> Start
fundbereich.Select
zwischenspeicher = Selection.Text
Selection.Expand unit:=wdLine
Loop
End With
MsgBox (zwischenspeicher)
Gruß Mr. K.
|