如何使用win32com.client.constants用Word女士?

2024-10-01 09:23:01 发布

您现在位置:Python中文网/ 问答频道 /正文

这个代码怎么了?为什么是win32com.client.constants没有WDWindowsStateMinimize属性?在

>>> import win32com.client
>>> w=win32com.client.Dispatch("Word.Application")
>>> w.WindowState = win32com.client.constants.wdWindowStateMinimize
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    w.WindowState = win32com.client.constants.wdWindowStateMinimize
  File "C:\Python34\lib\site-packages\win32com\client\__init__.py", line 170, in __getattr__
    raise AttributeError(a)
AttributeError: wdWindowStateMinimize`

Tags: 代码inimportclient属性linewin32comword
1条回答
网友
1楼 · 发布于 2024-10-01 09:23:01

您必须改用EnsureDispatch

>>> w=win32com.client.gencache.EnsureDispatch('Word.Application')
>>> win32com.client.constants.wdWindowStateMinimize
2
>>>

请注意,第一次在特定的COM服务器上使用EnsureDispatch,pywin32会为它生成COM类型库(在您的例子中是Word),因此它可能需要几秒钟的时间。对于Excel来说,花了将近30秒。但是在那之后,分派很快,你甚至可以使用常规的Dispatch(这样你就可以编写你的应用程序来使用dispatch,它比EnsureDispatch快,并检查是否定义了常量,如果没有,代码就使用EnsureDispatch)。在

有关详细信息,请参见my answer to this other post。在

相关问题 更多 >