Öhm, schwer vielleicht nicht, aber auch nicht so einfach/eindeutig.
Option Explicit
Public Function GetTableCaption(Table As Word.Table) As Variant
Const C_STYLE_NAME_CAPTION = "Beschriftung" 'Name der Formatvorlage für Beschriftungen
Dim rng As Word.Range
Set rng = Table.Range.GoTo(WdGoToItem.wdGoToLine, WdGoToDirection.wdGoToNext, Table.Rows.Count)
rng.Expand WdUnits.wdParagraph
If 0 = StrComp(rng.Style, C_STYLE_NAME_CAPTION, vbTextCompare) Then
GetTableCaption = rng.Text
Else
GetTableCaption = Empty
End If
End Function
Beachte bitte, diese Variante gilt nur für Beschriftungen UNTER der Tabelle.
Aufrufen mit z.B:
MsgBox GetTableCaption(ThisDocument.Tables(1))
liefert laut Beispiel oben:
Tabelle 1 – Beschriftung (unten)
Grüße
PS: Wenn nichts gefunden wird, dann liefert die Funktion Empty.
|