繁体   English   中英

如何在MS Word中使用win32com.client.constants?

[英]How to use win32com.client.constants with MS Word?

这段代码有什么问题? 为什么win32com.client.constants没有属性wdWindowStateMinimize?

>>> 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`

您必须使用EnsureDispatch

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

请注意,第一次在特定的COM服务器上使用EnsureDispatch时,pywin32会为它生成COM类型的lib(在您的情况下为Word),因此可能需要很多秒。 对于Excel,它花了将近30秒。 但在那之后,调度很快,你甚至可以使用常规Dispatch (所以你可以编写你的应用程序来使用Dispatch,比EnsureDispatch更快,并检查是否定义了常量,如果没有,代码使用EnsureDispatch )。

有关更多详细信息,请参阅我对其他帖子的回答

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM