Vinzenz Mai: Word 2002 Automation: Überschrift und Text zu einer Tabelle

Beitrag lesen

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