在没有xlwings安装的情况下分发xlwings宏?

时间:2017-08-07 08:35:19

标签: python excel xlwings

我无法找到答案 - 我正在编写一些简单的VBA,其目标是我的同事可以将其安装为添加或自定义标签。来自Python我当然更喜欢使用xlwings或pyxll,但是我理解为了调用任何python你必须在每台计算机上安装xlwings吗? 理想的情况是我可以使用xlwings或pyxll开发excel add ins并将其导出,就好像它是一个普通的excel插件一样,以便我的同事可以轻松地安装它。不幸的是,我无法在每台目标计算机上安装所有必需的python模块 这是可能的还是只是一厢情愿的想法?

4 个答案:

答案 0 :(得分:2)

一种可能性是将所有必需的python文件(您的脚本,xlwings文件和python解释器)转换为独立的可执行文件。 xlwings website给出了一个完成此操作的示例(fibonacci_standalone.zip)。

答案 1 :(得分:1)

我不是专家,但根据我的经验,这是一厢情愿的想法。

首先,您的同事需要在他们的计算机上安装Python才能从VBA运行,即使使用xlwings加载项也是如此。但是,如果他们有python(以及你使用的任何相关模块,如numpy,xlwings等),那么你可以给你的同事一份你的宏(可能上面有xlwings源代码,所以他们不需要上传VBA的加载项。)

我再次不是专家,但我尝试解决这个问题并找不到更好的解决方案。

答案 2 :(得分:0)

我同意您的意见,最好的解决方案是每个人都在计算机上安装了anaconda,最好的事情是不需要管理员权限即可安装anaconda,只需使用选项“ just me”即可。

答案 3 :(得分:0)

分发基于PyXLL的加载项有多种不错的选择,包括将Python和PyXLL捆绑到一个安装程序中。

有关详细信息,请参见https://www.pyxll.com/docs/userguide/distribution.html

这里是指向为PyXLL加载项创建MSI所需内容的链接,其中将包括Python运行时和所有Python代码https://github.com/pyxll/pyxll-installer

使用启动脚本在组织内部进行部署通常是最好的方法,因为它使您能够轻松推出更新而不必重新安装任何东西(https://www.pyxll.com/docs/userguide/distribution.html#using-a-startup-script-to-install-and-update-python-code)。

如果您需要任何帮助,请与PyXLL支持联系。这是一个非常常见的用例,您想在内部将其部署到非Python用户,因此他们对此有很多经验。