Hallo zusammen,
ich bin im Moment auf der Suche nach einer Lösung, um mir mit Hilfe eines Makros bei Word automatisch im Vorfeld festgelegte Wörter anzeigen und entsprechend markieren zu lassen. Dieses soll dabei möglichst nur innerhalb des einen Dokumentes stattfinden.
Meine bisherigen Recherchen in Verbindung mit eigenen Versuchen haben bereits die folgenden Möglichkeiten hervorgebracht, welche allerdings leider noch nicht perfekt sind:
1)
Dim myRange As Range, AktWord As Variant
Dim AllWord() As String, iWord As Long, Found As Boolean
Dim TmpStr As String
Set myRange = ActiveDocument.Range
Dim xlApp As Object
Dim SuchRange As Object, AktZelle As Object
Set xlApp = GetObject(, "Excel.Application")
Set SuchRange = xlApp.Range("A1:A200")
With SuchRange
For Each AktZelle In SuchRange
ReDim Preserve AllWord(iWord)
AllWord(iWord) = AktZelle
iWord = iWord + 1
Next
End With
Set myRange = ActiveDocument.Range
With myRange
For Each AktWord In .Words
TmpStr = Trim(AktWord.Text)
For iWord = 0 To UBound(AllWord)
If TmpStr = AllWord(iWord) Then
AktWord.Font.Color = wdColorYellow
End If
Next
Next
End With
Set SuchRange = Nothing
Set myRange = Nothing
=> Dieser Weg funktioniert zwar, allerdings bin ich hier auf ein weiteres (Excel-) Dokument angewiesen
2)
Dim a As Integer, Wort As String, Antwort As String
a = 1
Selection.HomeKey unit:=wdStory
'Anzahl der Wörter im Dokument zählen
b = ActiveDocument.Words.Count
Antwort = InputBox("Bitte das gesuchte Wort eingeben")
Do While Not a = b
Wort = Trim(ActiveDocument.Words(a))
If Wort = Antwort Then
ActiveDocument.Words(a).Select
With Selection.Font
.Italic = True
.ColorIndex = wdRed
End With
End If
a = a + 1
Loop
End Sub
=> Funktioniert grundsätzlich auch, allerdings ist dieser Weg etwas unpraktikabel, da nach mehreren Wörtern gesucht werden soll.
Eine Möglichkeit wäre wünschenswert, bei der ich innerhalb des Word Dokumentes zu Beginn die Wörter festlege (beispielsweise in Form einer dortigen Tabelle, oder diese schlichtweg einfach nur niederschreibe) und das Makro anschließend automatisch nach diesen sucht und sie markiert.
Für mögliche Lösungshinweise wäre ich sehr dankbar!
Viele Grüße
Robin
|