在mac上自动化python中的excel

时间:2012-04-01 22:47:12

标签: macos excel com pywin32

我通过COM接口使用pywin32使用python自动化excel。我想把我的脚本移植到mac。这有可能发生吗?我意识到我不能在mac上使用COM,并且xlutils python模块将无法工作(因为我需要复制图形等)。还有什么我可以用的吗?

2 个答案:

答案 0 :(得分:1)

  

不幸的是,appscript的开发已经停止,

我不知道AppleScript的开发已经停止。你的来源是什么?

据我所知,AppleScript仍然保持着未来并且运作良好。

“AppleScript”脚本语言与应用程序间通信技术(IAC)之间存在区别:“AppleEvents”

您可以在Mac上的以下位置找到AppleScript Editor.app:

/ Applications / Utilities / AppleScript Editor.app

打开AppleScript Editor.app,然后从“文件”菜单中选择:“打开字典...”

然后选择“Excel.app”

这将打开Excel的Apple Event词典。您将能够看到Excel for Apple Events支持的“名词”和“动词”和“属性”。

AppleScript 可以用于通过Apple Events向Excel发送命令,但其他脚本语言也是如此。

如果我是你,我会考虑制作一个抽象类的Excel和两个具体的子类,一个使用Windows版本的Windows代码,另一个使用Mac版Excel可能需要的Apple事件代码。

请参阅:关于Apple Events的维基百科文章: http://en.wikipedia.org/wiki/Apple_events

这真的是Apple Events - 而不是您可能想要使用的AppleScript,但您也可以查看以下文章:

另见:关于AppleScript的维基百科文章: http://en.wikipedia.org/wiki/AppleScript

---编辑---

我认为苹果正在减少对AppleScript的支持的误解来自AppleScript Studio已经停产的事实,但它被替换为同样好或更好的东西。现在,您可以使用AppleScript在XCode中开发成熟的Mac应用程序。此外,AppleScript还可以用于Automator工作流程,在XCode中用于构建Automator操作,AppleScript编辑器中所有这些都是由Apple在最新版本的OS X(Mountain Lion 10.8.4)和最新版本的XCode(版本4.6.2)

所以AppleScript仍然是一个可行的选择,尽管OP正在询问Python解决方案。 Apple事件可从Python获得。

答案 1 :(得分:0)

目前唯一可行的解​​决方案是appscript,它是一个允许在python(和ruby)中编写AppleScript宏的模块。不幸的是,appscript的开发已经停止,但是现在它仍然运行良好。