Hallo,
Ich habe ein riesiges Word(2002)-Dokument mit knapp 600 Tabellen, jede Tabelle hat einen einleitenden Text und eine Überschrift, manchen Tabellen folgt auch noch etwas Text.
Word 2002 hab' ich nicht, mit Perl hab' ich wenig am Hut, aber VBA sollte sich leicht in Perl-Word-Automation übersetzen lassen.
Ich vermute, dass Dir das Range-Objekt weiterhelfen kann:
' Gibt Formatvorlage sowie Textinhalt des Absatzes vor dem Absatz, der eine
' Tabelle enthält, aus.
' enthält weder Fehlerbehandlung noch werden verschachtelte Tabellen berücksichtigt.
' Gegebenenfalls im Objektkatalog nachschauen, wofür die Konstante
' wdParagraph
' steht.
Sub test()
Dim r As Range
Dim t As Table
For Each t In ActiveDocument.Tables
Set r = t.Range
' gehe zum Absatz vor dem Absatz, der die Tabelle enthält
r.MoveStart wdParagraph, -1
r.MoveEnd wdParagraph, -1
' Name der Absatzvorlage
' Beachte: Index beginnt bei 1
Debug.Print r.Paragraphs(1).Style
' Textinhalt des Absatzes
' Beachte: Textinhalt ist keine direkte Eigenschaft des
' Paragraph-Objektes.
Debug.Print r.Paragraphs(1).Range.Text
Next t
End Sub
Freundliche Grüße
Vinzenz