一篇word文档经常会有很多表格,每个表格一般都会有标题。
标题或者是在表格的第一行或者是独立于表格之外位于表格之上的一个段落行。
如下图所示

可以使用如下的代码获得表格的标题内容:
Sub QQ1722187970()
Const wdParagraph = 4
Dim oDoc As Document
Set oDoc = Word.ActiveDocument
Dim oT As Table
Dim oRng As Range
With oDoc
For Each oT In .Tables
Set oRng = .Range(oT.Range.Start - 2, oT.Range.Start - 1)
'将oRng对象按照整个段落选中,oRng对象自动变为整个段落的Range对象
oRng.Expand wdParagraph
'读取标题的文本内容
MsgBox oRng.Text
Next
End With
End Sub
实现的关键点在于用Range对象的Expand方法,它可以将原来的Range对象按照词、句、或者段落扩展选中,然后自动更新Range对象为选中后的Range对象。
在本例中先将oRng对象赋值为表格以上的第一个文字所代表的Range对象,然后按照段落扩展为整行Range对象。


发表评论