Microsoft Excel

Herbers Excel/VBA-Archiv

Daten aus Word auslesen

Betrifft: Daten aus Word auslesen von: Thomas3
Geschrieben am: 23.06.2008 09:13:47

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


  

Betrifft: AW: Daten aus Word auslesen von: fcs
Geschrieben am: 23.06.2008 14:06:09

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




  

Betrifft: AW: Daten aus Word auslesen von: Thomas3
Geschrieben am: 23.06.2008 18:28:50

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


 

Beiträge aus den Excel-Beispielen zum Thema "Daten aus Word auslesen"