【发布时间】:2012-04-15 16:14:06
【问题描述】:
我通过 COM 接口使用 python 自动化 excel,使用 pywin32。我想将我的脚本移植到 mac。有没有可能发生这种情况?我意识到我不能在 Mac 上使用 COM,xlutils python 模块也不起作用(因为我需要复制图表等)。还有什么我可以用的吗?
【问题讨论】:
我通过 COM 接口使用 python 自动化 excel,使用 pywin32。我想将我的脚本移植到 mac。有没有可能发生这种情况?我意识到我不能在 Mac 上使用 COM,xlutils python 模块也不起作用(因为我需要复制图表等)。还有什么我可以用的吗?
【问题讨论】:
不幸的是appscript的开发已经停止,
我不知道 AppleScript 的开发已经停止。你的消息来源是什么?
据我所知,AppleScript 仍在维护,有前途,而且运行良好。
“AppleScript”脚本语言和称为“AppleEvents”的应用程序间通信技术(IAC)之间也有区别
您可以在 Mac 上的以下位置找到 AppleScript Editor.app:
/Applications/Utilities/AppleScript Editor.app
打开 AppleScript Editor.app,然后从“文件”菜单中选择:“打开字典...”
然后选择“Excel.app”
这将打开 Excel 的 Apple 事件字典。您将能够看到 Excel for Apple Events 中支持的“名词”、“动词”和“属性”。
AppleScript可用于通过 Apple 事件向 Excel 发送命令,但其他脚本语言(如 Python)也可以。
如果我是你,我会考虑创建一个 Excel 的抽象类和两个具体的子类,一个使用 Windows 版本的 Windows 代码,另一个使用 Mac 版本的 Excel 可能需要的 Apple Event 代码。
请参阅:有关 Apple 事件的维基百科文章: http://en.wikipedia.org/wiki/Apple_events
这确实是 Apple 事件——不是您可能想要使用的 AppleScript,但您也可以查看以下文章:
另请参阅:关于 AppleScript 的维基百科文章: http://en.wikipedia.org/wiki/AppleScript
--- 编辑---
我认为,Apple 正在减少对 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 获得。
【讨论】:
目前唯一可能的解决方案是 appscript,这是一个允许在 python(和 ruby)中编写 AppleScript 宏的模块。不幸的是,appscript 的开发已经停止,但目前它运行良好。
【讨论】: