我是python的新手,试图使用win32com自动化powerpoint。我无法在脚本中导入或使用常量。我已经运行makepy来创建库。以下是错误消息&脚本。有人能告诉我如何导入常量吗?
脚本:
import win32com.client
Application =win32com.client.gencache.EnsureDispatch("PowerPoint.Application")
Presentation = Application.Presentations.Add()
Base = Presentation.Slides.Add(1, ppLayoutBlank)
错误讯息:
追踪(最近一次通话): 文件“ppt.py”,第14行,in Base = Presentation.Slides.Add(1,ppLayoutBlank) NameError:名称'ppLayoutBlank'未定义
答案 0 :(得分:0)
您选择的INTEROP方法取决于您要连接的应用程序接口。
未定义通常意味着没有这样的变量,但Python在这种情况下更经常引发NameError。所以这里发生的事情有点不清楚。
因此,取决于PPoint的版本如何与之通信。
我建议您使用pywinauto代替“brute_force”,即在右键,菜单等上模拟按键和/或点击等。
因为版本的名称不太可能通过版本而不是COM接口进行更改。
微软有一个讨厌的习惯,即只更改一点接口,然后一个程序停止工作。
如果你想坚持使用win32com,你必须阅读PPoint的特定版本(或Office版本)文档,以及Python版本的win32com文档。
您应该看看是否应该启动COM客户端,或者是否需要使用其他MS调整。
答案 1 :(得分:0)
我现在在Linux下,不能在这里测试,但尝试
import win32com.client.constants
...然后查找该模块中定义的常量。 另见How to use win32com.client.constants with MS Word?。