AW: aus excel Worddatei nach Wert durchsuchen
01.10.2019 10:11:11
Peter
Hallo Regina,
besten Dank für Deine Hilfe.
Ich habe den Code für meine Bedürfnisse abgeändert. Bis auf einen Faktor läuft er einwandfrei.
<pre>Public Sub Suche_Wert2()
Dim obj_word As Object
Dim lng_zeile As Long
Dim myRange As Object
Set obj_word = CreateObject("Word.Application")
'lng_zeile = 1
lng_zeile = 2
With obj_word
' Do Until Worksheets("Tabelle1").Cells(lng_zeile, 3) = ""
Do Until Worksheets("Tabelle1").Cells(lng_zeile, 3) > ""
' .Documents.Open "C:\Test\" & Worksheets("Tabelle1").Cells(lng_zeile, 1)
.Documents.Open "C:\Users\xxxx\Desktop\xxxx" & "\" & Worksheets("Worddaten").Cells(lng_zeile, 3)
Set myRange = .ActiveDocument.Content
myRange.Find.Execute FindText:=Worksheets("Tabelle1").Range("C1")
If myRange.Find.Found = True Then
MsgBox "Schon verwendet"
End If
.ActiveDocument.Close
lng_zeile = lng_zeile + 1
Loop
End With
Set obj_word = Nothing
End Sub</pre>
~f~
Wenn die letzte beschriebene Zeile durchlaufen ist, wird der Loop nochmals ausgeführt und hängt sich dann bei der 6. Zeile auf, da diese ja nicht mehr existiert bzw. leer ist.
Müsste hier evtl bevor dieses Workbook.open eingesteuert wird eine If eingefügt werden etwa in der Form
~f~
If Worksheets("Worddaten").Cells(lng_zeile, 3)= "" then exit Sub
elseIf Worksheets("Worddaten").Cells(lng_zeile, 3)> "" then
weiter mit den weiteren Zeilen ab Workbook.Open...
Gruss
Peter