0

我有一个整数 pageNumber 可用,我需要获取 word 文档的 pageNumber 页面的标题并将其粘贴到 excel 中

我的代码如下:

Set wdDoc = GetObject(wdFileName) 'open Word file
pageNumber = 5 //dynamically changes but not important here
pageHeader = wdDoc.Sections(pageNumber).Headers(1).Range.Text

上面的代码有效但不一致,它获取不同页面的标题而不是 pageNumber 指示的实际页面

我想是因为它实际上不是页面,而是部分。所以我将其更改为:

pageHeader = wdDoc.Pages(pageNumber).Headers(1).Range.Text

但它不起作用。我是 vba 新手,我正在努力阅读文档

4

1 回答 1

1

Word 没有正确的“页面”对象,因为它不按页面排列内容。页面不是包含内容的对象。页面就是当前适合它的任何内容。文档是一长串内容,根据内容和大小在页面之间拆分。

也就是说,这是一种尝试识别指定页面开头的节号的方法,它应该识别该页面上使用的标题:

sectionNumber = wdDoc.Windows(1).Panes(1).Pages(pageNumber).Rectangles(1).Range.Information(wdActiveEndSectionNumber)

pageHeader = wdDoc.Sections(sectionNumber).Headers(1).Range.Text

wdActiveEndSectionNumber = 2

如果添加对 Word 对象模型的引用,则可以在具有早期绑定的 VBE 中使用带有智能感知的 Word 对象,也可以使用 Word 常量。您可以从“工具”>“参考”菜单添加参考:

在此处输入图像描述

于 2019-04-10T05:22:59.377 回答