0

我指的是包含xlwings功能的宏。我确实知道如何调用宏,但我在将它们与 package.json 集成时遇到了麻烦xlwings。请允许我解释一下。

xlwings在 PERSONAL.XLSB 中包含了模板代码,因此我可以调用该包。

第一个挑战是调整 PYTHONPATH 以找到Python Scripts文件夹并读取相应的模块。我是从 Visual Basic 的 PERSONAL.XLSB 中完成的。

-- PYTHONPATH = ThisWorkbook.Path
++ PYTHONPATH = "C:\Users\Diego-MX\Documents\Python Scripts"

在几次尝试调试我的宏之后,我开始假设从不同的电子表格运行宏不会捕获我想要的工作簿。那是xlwings.Workbook.caller()在我的宏内部,PERSONAL.XLSB而不是我的实际工作簿。

有没有办法让我将工作簿参数从我的电子表格传递给 PERSONAL.XLSB,然后传递给我的xlwings宏?

我认为这将解决我的问题。谢谢。

4

1 回答 1

1

您必须参考ActiveWorkbook而不是ThisWorkbookxlwings VBA 模块。

附带说明一下,有一个已计划的加载项(请参阅此处),一旦可用,它也可能会解决您的问题。

于 2016-01-04T19:29:59.707 回答