2017-05-22 134 views
1

我使用mac OS X Sierra与Mac for Ecel 2016和python 3.6。我试图从Excel中启动python脚本,因为:xlwings Excel for Mac 2016

  • 我已经有很多功能的excel,并且我想使用Python为该产品添加一些功能。
  • 我的产品的用户不会很乐意从python控制台启动python脚本,所以我想要有某种excel用户界面。

我正在提供这样的背景,因为我对如何做不同的建议持开放态度。从我迄今为止的研究中,似乎可以使用xlwings库来完成。我一直在使用它下面的说明试过:

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

我莫名其妙地停留在这个阶段:

打开使用Alt-F11 VBA编辑器 然后转到文件>导入文件.. 。并导入xlwings.bas文件。它可以在xlwings安装目录中找到。

由于ALT + F11不会打开宏编辑器,我已经明白了以下说明:

  • 上的“宏”按钮,单击Excel的
  • 创建“developper”标签新宏/编辑现有
  • 去上左下角
  • 打开该文件提到
“添加引用”

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

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

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

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

编译错误: 子或没有定义

在RunPython指示功能...

如果有人知道我做错了什么和/或如何管理使用xlwings,那会很棒。

谢谢你的帮助,

+0

您是否尝试过在此下载并运行其中一个示例:https://www.xlwings.org/examples?这些示例中的excel文件应该已经包含了所有必需的VBA代码。它不会直接解决你的问题,但它可能会提供一些有用的线索。 – Xukrao

+0

感谢您的帮助;并不是所有的功能都起作用(事实上,使用Mac不支持的RunFrozenPython是不可能的),但至少有一些是......我认为残酷的方法对我来说是已经设置好的excel并将其改变了为我的项目的目的... – Vincent

+0

从你所描述的我不认为你是在正确的屏幕上加载'xlwings.bas'文件。尝试在标签为“Visual Basic”的开发人员选项卡中查找按钮,这应该打开正确的屏幕(即VBA编辑器屏幕)。 – Xukrao

回答

0

为了您的信息,我发现(感谢Xukrao)最好的解决办法是从xlwingsexamples下载为例,进入宏编辑器,复制“xlwings”模块在示例工作表中并将其粘贴到我的工作表的宏中。