我已成功设法使用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)
答案 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作为搜索词。当您在结果中选择它时,它将显示其整数值。然后把它放在你的代码中。