适用于Mac的Excel的xlwings 2016

我使用mac OS X Sierra与Ecel 2016和python 3.6的Mac。 我想从Excel中启动一个python脚本,因为:

  • 我已经有了很多function的excel,我想用Python添加一些function到这个产品。
  • 我的产品的用户将不会从python控制台启动python脚本,所以我想有一些excel用户界面。

我正在提供这样的背景,因为我愿意提供有关如何做不同的build议。 从我迄今为止的研究来看,似乎可以用xlwings库来完成。 我已经尝试按照以下说明使用它:

http://docs.xlwings.org/en/stable/vba.html#vba

我在这个阶段不知所措:

用Alt-F11打开VBA编辑器然后进入File> Import File …并导入xlwings.bas文件。 它可以在xlwings安装目录中find。

由于alt + F11没有打开macros编辑器,我已经理解了如下的说明:

  • 点击excel的“开发者”选项卡中的“macros”button
  • 创build一个新的macros/编辑一个现有的macros
  • 去左下angular的'添加引用'
  • 打开提到的文件

问题是我无法打开xlwings.bas文件; 我只能打开一些文件。 我设法打开一个名为xlwings.xlsm的文件; 在Excel中创build一个名为“xlwings”的新选项卡,其中只有一个button:“导入Python UDF”。 当我按下这个button时会抛出错误:

运行时错误“53”:找不到文件:xlwings64.dll

在我以前使用xlwings的一个尝试中,在这个阶段我有一个不同的错误。 我不记得它,但从我的研究中,解决scheme意味着在Excel 2016的信任中心做一些事情,我无法用Excel 2016 for Mac 2016做什么。

或者,当我尝试使用RunPython运行macros时,会引发以下错误:

编译错误:Sub或Function未定义

指着RunPython …

如果有人知道我做错了什么,或者我怎样才能使用xlwings,那就太好了。

感谢您的帮助,

为了您的信息,我find的最好的解决scheme(感谢Xukrao)是从xlwingsexamples下载一个示例,去macros编辑器,复制示例工作表中的“xlwings”模块并将其粘贴在我的工作表的macros。