Hallo Forum,
ich habe ein geringfügiges Problem bei einer VBA-Programmierung in Word.
Ich möchte gerne mit VBA aus einem Bericht, welcher circa 20 Tabellen beinhaltet, bestimmte Tabelleninhalte kopieren. Genauer soll aus der Tabellenzelle Zeile 1, Spalte 2 einer Wordtabelle der Inhalt zu einer Excelmappe kopiert werden, wenn in der Tabellenzelle Zeile 1, Spalte 1 das Wort "Maßnahme" steht. Ich habe da schon mal etwas vorbereitet. Allerdings funzt die Verzweigung nicht so recht. Schaut es euch selber an...
Sub WordAbsatzImport3()
Dim appWord As Word.Application 'Word-Programm
Dim i As Integer, k As Integer 'i = Zeile, k = Spalte
Dim tx As String 'Text
Dim tb As Word.table 'Word-Tabelle
Dim t As Integer
Dim z As Integer
Dim strText As String
Dim lngEnd As Long
Dim lngStart As Long
Dim dok As Document
ThisWorkbook.Worksheets("Monitoring 2012").Activate
'Anwendung Word starten
Set appWord = CreateObject("Word.Application")
'Word sichtbar machen
appWord.Visible = True
'Word-Dokument öffnen
appWord.Documents.Open "D:\Users\....\Bericht.docx"
'MsgBox appWord.ActiveDocument.Tables.Count
For t = 1 To appWord.ActiveDocument.Tables.Count
'For t = 1 To dok.Tables.Count <<<evtl auch möglich
Set tb = appWord.ActiveDocument.Tables(t)
If tb.Cell(1, 1).Range.Text = "*Maßnahme:*" Then
'Text einer Tabellenzelle inkl. Zellenende
tx = tb.Cell(1, 2).Range.Text 'Text ist gleich Word-Tabelle-Spalte Zeile 1, Spalte 2
End If
'Zellenende löschen, Text mit Cells(1, 1 in bestimmte Zelle schreiben
Cells(Cells(Rows.Count, 9).End(xlUp).Row + 1, 9).Value = Left(tx, Len(tx))
Next t
appWord.Quit
End Sub
Ignoriert bitte dabei die ganzen Deklarationen. Die sind nur zu Testzwecken enthalten. Vielen Dank für eure Hilfe und Ideen.
Beste Grüße
Diego
|