You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用VBA调用xlwings时出现“无效的过程调用或参数”错误的原因及解决咨询

使用VBA调用xlwings时出现“无效的过程调用或参数”错误的原因及解决咨询

我最近在尝试用xlwings从VBA里运行一段简单的Python脚本,结果碰到了「运行时错误'5':无效的过程调用或参数」的问题。

我怀疑问题出在程序找不到正确的Python文件上——毕竟相关错误说明提到,如果尝试调用当前平台上无效的过程,就会触发这个报错。

我已经仔细看过xlwings的官方文档,也翻了不少类似的论坛帖子,但还是没能解决问题。

我的Excel文件名叫hello.xlsm,想要调用和它同文件夹里的hello.py,用到的VBA代码如下:

Sub HelloWorld()
    RunPython "import hello; hello.world()"
End Sub

hello.py的代码是这样的:

# hello.py
import numpy as np
import xlwings as xw

def world():
    wb = xw.Book.caller()
    wb.sheets[0]['A1'].value = 'Hello World!'

我的xlwings配置文件内容如下,另外我也试过把PYTHONPATH改成C:\hello,把INTERPRETER_WIN改成pythonw.exe,但都没效果:

"PYTHONPATH","C:\hello" 
"INTERPRETER_WIN","C:\Users\matt.ward\AppData\Local\Microsoft\WindowsApps\python3.12.exe"

我已经确认Excel里已经勾选了xlwings引用模块,按道理应该能运行hello.py里的world函数,但现在一直报错,看起来程序根本没进入Python代码的执行环节。

有没有人遇到过类似的问题?能不能给我一些排查方向的建议?

备注:内容来源于stack exchange,提问作者Matthew Ward

火山引擎 最新活动