Hallo Forum,
aktuell bin ich damit zugange anhand der in diversen Betriebsanweisungen vorhandenen Daten (eine Word-Datei pro Thema, Daten in vorgegebener Tabellenform) eine sich selbstständig aktualisierende Excel-Tabelle zu erstellen. Das Ganze soll durch die Zusammenfassung aller Daten viel übersichtlicher werden.
Das Auslesen der Word-Tabellen als auch das Einfügen in die Excel-Datei funktioniert mit folgendem Code schonmal ganz gut:
Soweit klappt alles.Einziger Downer ist der Umstand, das die Textinhalte der einzelnen Word-Tabellenzellen ohne die dort vorhandenen Umbrüche/Absätze sondern als ein langer Strang in die einzelnen Excel-Zellen geschrieben werden.Wenn man jedoch die dann befüllten Zellen per Doppelklick oder F2 anwählen, passt sich der Inhalt automatische wieder an.
Kennt einer von Euch dieses Problem und hat evtl. den passenden Tipp oder gar eine Lösung parat?
Vielen Dank im Voraus für Eure Unterstützung
aktuell bin ich damit zugange anhand der in diversen Betriebsanweisungen vorhandenen Daten (eine Word-Datei pro Thema, Daten in vorgegebener Tabellenform) eine sich selbstständig aktualisierende Excel-Tabelle zu erstellen. Das Ganze soll durch die Zusammenfassung aller Daten viel übersichtlicher werden.
Das Auslesen der Word-Tabellen als auch das Einfügen in die Excel-Datei funktioniert mit folgendem Code schonmal ganz gut:
Visual Basic-Quellcode
- Sub Word_Tabellen_auslesen()
- Dim cL As Object
- Dim sPfad As String
- Dim appWord As Object
- Dim i As Long
- Dim a As Long
- Dim counter As Long
- Dim cDir As String
- Dim ws As Excel.Worksheet
- counter = 1
- On Error GoTo ENDE
- 'Aktualisierung ausschalten
- With Application
- .ScreenUpdating = False
- .Calculation = xlCalculationManual
- .EnableEvents = False
- End With
- 'WordObject erstellen
- Set appWord = CreateObject("Word.Application")
- 'Zielblatt
- Set ws = Tabelle002
- 'Bereich festlegen
- Set isect = Application.Intersect(ws.UsedRange, ws.Range("B3:D" & Rows.Count))
- 'Pfad
- sPfad = "C:\Users\Marco123\Desktop\Projekt\"
- cDir = Dir(sPfad & "*.doc")
- 'Tabelle vorher leeren
- isect.ClearContents
- Do While cDir <> ""
- 'Worddocument ?ffnen
- appWord.Documents.Open sPfad & cDir, ReadOnly:=True
- 'Wordtabelle auslesen
- 'Zeilen
- For a = 1 To 15
- i = 0
- 'Spalten
- For Each cL In appWord.activeDocument.Tables(1).Rows(a).Cells
- i = i + 1
- ws.Cells(a + counter, i) = Left(cL.Range.Text, Len(cL.Range.Text) - 2)
- Next
- Next a
- 'n?chstes Document lesen
- cDir = Dir
- counter = counter + 15
- 'Worddocument schliessen
- appWord.activeDocument.Close savechanges:=False
- Loop
- ENDE:
- 'WordObject l?schen
- Set appWord = Nothing
- 'gef?llte Zellen an Inhalt anpassen
- isect.VerticalAlignment = xlTop
- isect.WrapText = True
- isect.ColumnWidth = 50
- isect.EntireRow.AutoFit
- 'Aktualisierung einschalten
- With Application
- .ScreenUpdating = True
- .Calculation = xlCalculationAutomatic
- .EnableEvents = True
- End With
- End Sub
Soweit klappt alles.Einziger Downer ist der Umstand, das die Textinhalte der einzelnen Word-Tabellenzellen ohne die dort vorhandenen Umbrüche/Absätze sondern als ein langer Strang in die einzelnen Excel-Zellen geschrieben werden.Wenn man jedoch die dann befüllten Zellen per Doppelklick oder F2 anwählen, passt sich der Inhalt automatische wieder an.
Kennt einer von Euch dieses Problem und hat evtl. den passenden Tipp oder gar eine Lösung parat?
Vielen Dank im Voraus für Eure Unterstützung
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marco123“ ()