Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1712to1716
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
aus excel Worddatei nach Wert durchsuchen
01.10.2019 07:40:16
Peter
Guten Morgen,
als Controlling benötige ich, dass die in einem Ordner befindlichen Worddateien, aufgelistet in Tabelle Worddaten SpalteC durchsucht werden. Es soll dort geprüft werden, ob ein bestimmter Wert vorhanden ist.
Ist dieser vorhanden soll ein Button deaktiviert werden und eine Meldung in Label Wert bereits benutzt. Andernfalls soll Makro ausgeführt werden.
Am besten wäre es, wenn hierbei die Worddateien nicht geöffnet werden sondern die geschlossenen Dateien überprüft werden.
Könnt ihr mir bitte hierbei helfen.
Besten Dank
Gruss
Peter

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: aus excel Worddatei nach Wert durchsuchen
01.10.2019 08:33:11
Regina
Moin, ohne Öffnen geht das m.E. nicht.
Der folgende Code arbeitet alle Dateien ab, die mit Dateierweiterung in der Spalte A des Blattes Tabelle1 untereinander stehen. Der zu suchende Begriff steht dabei im gleichen Blatt in C1. Beides kann im Code angepasst werden. Im Code steht der Pfad C:\Test, auch der muss angepasst werden.
Wenn der Suchwert in einer der Dateien gefunden wird, wird eine Info ausgegeben, hier können dann natürlich auch weitere Aktionen erfolgen.
Falls Du noch Fragen hast, melde Dich gerne.
Gruß Regina
Public Sub Suche_Wert()
Dim obj_word As Object
Dim lng_zeile As Long
Dim myRange As Object
Set obj_word = CreateObject("Word.Application")
lng_zeile = 1
With obj_word
Do Until Worksheets("Tabelle1").Cells(lng_zeile, 1) = ""
.Documents.Open "C:\Test\" & Worksheets("Tabelle1").Cells(lng_zeile, 1)
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

Anzeige
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
Anzeige
AW: aus excel Worddatei nach Wert durchsuchen
01.10.2019 10:18:44
Regina
Hallo Peter,
Du hast "meine" Abbruchbedingung für die Schleife geändert, hier mus = "" stehen und nicht größer ""
Gruß
Regina
AW: aus excel Worddatei nach Wert durchsuchen
01.10.2019 10:24:52
Peter
Hallo Regina,
besten Dank nochmals für die Hilfe.
Der Fehler liegt bei mir, da es bei mir nicht Tabelle1 sondern Worddaten heissen muss. Damit funktioniert natürlich Deine Abbruchbedingung.
Wünsche Dir noch einen schönen Tag.
Gruss
Peter
AW: aus excel Worddatei nach Wert durchsuchen
01.10.2019 10:42:34
Peter
Hallo Regina,
jetzt benötige ich doch nochmals Deine Hilfe.
Wenn das erste Mal der Wert gefunden wird, dann soll ein Button deaktivert und ein Abbruch erfolgen.
Dabei soll dann auch Word beendet werden.
Kannst Du mir bitte dies noch mitteilen, wie ich das Ändern kann.
Besten Dank für Deine Hilfe.
Gruss
Peter
Anzeige
AW: aus excel Worddatei nach Wert durchsuchen
01.10.2019 12:57:11
Regina
Rückfrage:
Abbruch und Word beenden habe ich verstanden, aber wo ist das Button und wie "heißt" es?
gruß
regina
AW: aus excel Worddatei nach Wert durchsuchen
01.10.2019 13:45:09
Peter
Hallo Regina,
wenn ich das Ganze in eine Userform einbaue, dann soll, wenn der gesuchte Wert gefunden wurde, die Worddatei geschlossen, Word beendet werden und ein CommandButton(z.B. CmdBtn1)enabled=false gesetzt werden und der Code beendet werden.
Wir bereits z. B. in der 1. oder 2. Worddatei der Wert gefunden muss der Rest nicht mehr durchlaufen werden.
Ich hoffe Du hast meine Erläuterung verstanden.
Gruss
Peter
AW: aus excel Worddatei nach Wert durchsuchen
01.10.2019 13:49:54
Regina
ok, dann setze mal unter die Msgbox die folgenden zeilen:

me.CmdBtn1.enabled = false   'hier den Namens des Buttons anpassen
.ActiveDocument.close        ' hier den "." vor ActiveDocument nicht vergessen!
.quit                        ' ' hier den "." vor Quit nicht vergessen, beendet Word
exit do                       ' beende die Schleife vorzeitig
Gruß
regina
Anzeige
AW: aus excel Worddatei nach Wert durchsuchen
01.10.2019 17:20:20
Peter
Hallo Regina,
besten Dank für Deine Hilfe.
Jetzt funktioniert es.
Gruss
Peter

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige