如何用vba调用word的定位功能快速地定位具体的内容区域?

如下图所示

在word中可以用“定位”功能快速地定位到具体的页、节、行、书签、批注、脚注、尾注、域、表格、图形、公式、对象、标题等。

在vba中可以使用Document、Range、Selection对象的GoTo方法实现上图中的定位功能,它的语法如下:

其中what参数表示要定位的对象,可以有如下值:

Name Value Description
wdGoToBookmark -1 书签
wdGoToComment 6 批注
wdGoToEndnote 5 尾注
wdGoToEquation 10 公式
wdGoToField 7
wdGoToFootnote 4 脚注
wdGoToGrammaticalError 14 语法错误
wdGoToGraphic 8 图片
wdGoToHeading 11 标题
wdGoToLine 3
wdGoToObject 9 对象
wdGoToPage 1
wdGoToPercent 12 比例
wdGoToProofreadingError 15 校验错误
wdGoToSection 0
wdGoToSpellingError 13 拼写错误
wdGoToTable 2 表格

Which参数表示要使用的定位方式,是绝对位置还是相对位置,可以有如下的值:

Name Value Description
wdGoToAbsolute 1 使用绝对位置
wdGoToFirst 1 第一个
wdGoToLast -1 最后一个
wdGoToNext 2 下一个
wdGoToPrevious 3 上一个
wdGoToRelative 2 相对于当前的位置

Count参数表示要移动的数量,Name参数表示具体的对象的名称。

特别注意的是,Document、Range、Selection对象的GoTo方法定位的结果是将光标移至该对象的起始位置,返回的是Range对象。

如下代码用Document、Range、Selection对象的GoTo方法遍历word文档中的每一页:





       

发表评论