我有一个可用的整数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指示的实际页面
我想出了,因为它实际上不是其调用的Page,而是Sections。所以我将其更改为:
pageHeader = wdDoc.Pages(pageNumber).Headers(1).Range.Text
但是它不起作用。我是vba的新手,正在努力阅读文档
答案 0 :(得分: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常量。您可以从“工具”>“引用”菜单中添加引用: