Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
984to988
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
984to988
984to988
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Daten aus Word auslesen
23.06.2008 09:13:00
Thomas3
Hallo zusammen,
ich habe mal mit Hilfe - ich glaube - dieses Forums ein Tool geschrieben, welches mir aus in einem Verzeichnis liegenden Wordformularen die Einträge ausliest.
ich bin mir nicht ganz sicher, aber bei Excel 2000 hat das noch wunderbar funktioniert, aber mit 2003 haut das irgendwie nicht mehr hin.
Zum einen läuft das nicht ganz rund ( Word kann anschließend nicht mehr arbeiten udn muß komplett neu gestartet werden ) und zum anderen erstellt Word ( auch die 2003er Version ) lauter wiederhergestellte Kopien.
Ich bin dankbar für jeden Hinweis, warum das Programm nicht sauber läuft, da ich das Teil jetzt öfters wieder bräuchte.
Recht herzlichen Dank und eine schöne Woche
Thomas

Sub Abstracteinlesen()
Dim str_Ordner As String
Dim str_Datei As String
Dim int_Anz As Integer
Dim int_Zähler As Integer
Dim int_Zeile As Integer
Dim int_Spalte As Integer
Dim rng_Zelle As Range
Dim rng_Start As Range
Dim lzeile As Integer
'Bildschirm einfrieren
Application.ScreenUpdating = False
'Ordnername auslesen
str_Ordner = Range("F6")
'auszulesende Dateiname definieren
str_Datei = Dir(str_Ordner & "*.doc")
On Error Resume Next
'Start des Bereiches definieren, ab dem die Daten hinein geschrieben
'werden müssen
Set rng_Start = Range("a10")
'Start Schleife
While str_Datei  ""
Set doc = GetObject(str_Ordner & str_Datei)
int_Anz = doc.formfields.Count
For int_Zähler = 1 To int_Anz
Set rng_Zelle = rng_Start.Offset(int_Zeile, int_Zähler - 1)
rng_Zelle = doc.formfields(int_Zähler).result
Next
str_Datei = Dir
int_Zeile = int_Zeile + 1
Wend
Set doc = Nothing
Cells(1, 1).Select
Application.ScreenUpdating = True
End Sub


2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus Word auslesen
23.06.2008 14:06:09
fcs
Hallo Thomas,
ich hab dein Prozedur mit Excel 2003 SP 2, Office Professional Edition, probiert. Sie scheint problemlos zu laufen.
Dennoch würde ich an deiner Stelle ein paar Modifikationen machen. Das sollte die Word-Objekte sauberer wieder Schließen und aus dem Ablauf entfernen.
Gruß
Franz

Sub Abstracteinlesen()
Dim str_Ordner As String
Dim str_Datei As String
Dim int_Anz As Integer
Dim int_Zähler As Integer
Dim int_Zeile As Integer
Dim int_Spalte As Integer
Dim rng_Zelle As Range
Dim rng_Start As Range
Dim lzeile As Integer
Dim doc As Object                                    '##### Ergänzung fcs 20080623
'Bildschirm einfrieren
Application.ScreenUpdating = False
'Ordnername auslesen
str_Ordner = Range("F6")
'auszulesende Dateiname definieren
str_Datei = Dir(str_Ordner & "*.doc")
On Error Resume Next
'Start des Bereiches definieren, ab dem die Daten hinein geschrieben
'werden müssen
Set rng_Start = Range("a10")
'Start Schleife
While str_Datei  ""
Set doc = GetObject(str_Ordner & str_Datei)
int_Anz = doc.formfields.Count
For int_Zähler = 1 To int_Anz
Set rng_Zelle = rng_Start.Offset(int_Zeile, int_Zähler - 1)
rng_Zelle = doc.formfields(int_Zähler).result
Next
doc.Close      '##### Ergänzung fcs 20080623
Set doc = Nothing '##### Änderung fcs 20080623
str_Datei = Dir
int_Zeile = int_Zeile + 1
Wend
Set rng_Start = Nothing
Set rng_Zelle = Nothing
Cells(1, 1).Select
Application.ScreenUpdating = True
End Sub


Anzeige
AW: Daten aus Word auslesen
23.06.2008 18:28:50
Thomas3
Hallo Franz,
ich weiß nicht, warum das wo anders immer anders ist. Naja...
Es läuft rund und ich glaube, das mit dem Schließen des DOC und der nächsten Zeile war es dann.
Ganz herzlichen Dank für die Hilfe.
Dir eine schöne Woche noch
Thomas

324 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige