python - 使用 xlwings 调用 Python UDF
问题描述
我试图通过 xlwings 在 excel 中调用两个 Python UDF,我看到以下错误消息: 确保此工作簿包含 xlwings 模块并且您信任对 VBA 项目对象模块(选项)的访问。
宏设置已启用,工作簿也引用了 xlwings。Anaconda 中的 xlwings 版本是 0.20.0,我认为这是最新版本,但我只能在 xlwings 插件设置下看到“导入 Python UDFs”按钮,没有别的,这与我看到的插件设置不同在一些视频中。我正在使用 Jupyter Notebook,我的 python 代码保存在“M:\SolverFunction.ipynb”中。我还将代码保存在同一目录中具有相同名称的 .py 扩展名中,不确定我是否可以直接使用 .ipynb 扩展名。以下是我在 VBA 中的功能设置,有人可以检查一切是否正确:
PYTHON_WIN = "C:\Program Files\Anaconda3\pythonw.exe"
PYTHON_MAC = ""
PYTHON_FROZEN = ThisWorkbook.Path & "\build\exe.win32-2.7"
PYTHONPATH = "M:\"
UDF_MODULES = "SolverFunction"
UDF_DEBUG_SERVER = False
LOG_FILE = ""
SHOW_LOG = True
OPTIMIZED_CONNECTION = False
当我运行宏 Run_Python_Function 时,它显示 SyntaxError: Syntax Error in Macro
我需要调用两个python UDF,不知道如何修复这个错误,python代码本身没有错误。另一个问题:在python代码中我使用'xw.Book'来调用现有的工作表
wb = xw.Book(r'M:\SolverFunction.xlsm')
如果工作表以其他名称保存在另一个目录中,请说“C:\Desktop\DVA Totem Submission\xyz.xlsm”,除非修改代码
wb = xw.Book(r'C:\Desktop\DVA Totem Submission\xyz.xlsm')
我是否也需要更改 VBA 中的功能设置?谢谢,
解决方案
推荐阅读
- javascript - 根据 javascript 或 jquery 中的 $_GET 值在下拉列表中选择选项
- sql - 带有“空”日期的 Bigquery 计数
- swift - CIImage内存未释放
- css - CSS星号是一个好习惯吗
- javascript - 遍历 DataTables 中具有类名的单元格
- webpack - 在组件架构中共享更少的文件
- docker - 如何检测 Docker 容器何时达到其配置的内存限制
- protractor - Angular 6 中的量角器测试,用于 Angular 6 材料数据表
- java - Servlet 不显示数据库中的图像
- node.js - Node.JS 不刷新 Nunjuck 模板