在Word文档中查找当前页面

时间:2014-06-03 01:12:12

标签: python-2.7 ms-word pywin32 win32com

我已成功设法使用win32 COM获取有关word文档页码的详细信息。但是,当我尝试使用mydoc.ActiveWindow.Selection.Information(wdActiveEndPageNumber)时 我知道该文件已被正确读入内存,因为mydoc.Content.Text打印出所有内容。  我得到了一个" wdActiveEndPageNumber未定义"错误。任何人都知道为什么会这样,以及如何解决这个问题?是否有一些python文档或我在msdn上看到VB和C#?

import win32com.client
 word = win32com.client.Dispatch("Word.Application")
 mydoc=word.DOcuments.Open("path:\\to\\file")
 mydoc.ActiveWindow.Selection.Information(wdActiveEndPageNumber)

2 个答案:

答案 0 :(得分:2)

那是因为wdActiveEndPageNumber是一个未由​​win32com定义的常量,直到从应用程序生成COM类型库。试试这个:

from win32com.client.gencache import EnsureDispatch
from win32com.client import constants
word = EnsureDispatch("Word.Application")
mydoc = word.Documents.Open("path:\\to\\file")
mydoc.ActiveWindow.Selection.Information(constants.wdActiveEndPageNumber)

答案 1 :(得分:0)

您可以使用枚举的数字。您可以使用word中的对象浏览器找到它。刚进入vba编辑器,按f2然后输入wdActiveEndPageNumber作为搜索词。当您在结果中选择它时,它将显示其整数值。然后把它放在你的代码中。