Suche in Word
SiegfriedR
Ich habe in Excel eine UserForm gestartet. Auf Klick soll beim ersten Mal eine Word-Datei geöffnet werden und ein bestimmter String gesucht und angezeigt werden (es geht nur um die Suche). Das funktioniert bei mir soweit mit dem Befehl CreateObjekt usw. Danach gehe ich wieder nach Excel und möchte eine weitere Stringsuche anstoßen. Der Unterschied ist jetzt, daß die Worddatei bereits offen ist Ich hätte gern, daß wieder das bereits geöffnete Word-fenster in den Vordergrund geholt wird und mir der neue Suchstring markiert wird. Genau diese zweite Suche funktioniert nicht, dh. es wird vermutlich schon das Fenster gar nicht angesprochen. Ich dachte dazu gebe es den befehl GetObjekt, aber das geht (bei mir) nicht - warum ?
Sub KanalImDocSuchen(Suchtext)
If Suchtext = "" Then Exit Sub
Dim ObjWord As Object
Dim Version As Integer
Version = 11
DatName = Replace(ActiveWorkbook.Name, "xls", "doc")
PfadDatName = ActiveWorkbook.Path & "\" & DatName
oeffne = 0
On Error Resume Next
Set ObjWord = GetObject("Word.Application." & Version) ' Ist Word bereits geöffnet ?
If ObjWord Is Nothing Then
Set ObjWord = CreateObject("Word.Application." & Version)
oeffne = 1
End If
With ObjWord
On Error GoTo Errorhandler
If oeffne = 1 Then
.Documents.Open Filename:=PfadDatName
End If
With .Application.Selection
With .Find
.Text = Suchtext
End With
.Find.Execute
End With
.Visible = True
End With
Set ObjWord = Nothing
Exit Sub
Errorhandler:
MsgBox Error
Set ObjWord = Nothing
End Sub