use*_*044 2 python excel vba xlwings
我正在尝试用 Python 编写一个简单的用户定义函数,我将一个值传递给 from Excelvia Xlwings。我遇到了一些带有加载项的示例,您需要导入用户定义的函数,但这似乎过于复杂。
为什么我的例子不起作用?
VBA:
Function Hello(name As String) As String
RunPython ("import Test; Test.sayhi(name)")
End Function
Run Code Online (Sandbox Code Playgroud)
蟒蛇(Test.py):
from xlwings import Workbook, Range
def sayhi(name):
wb = Workbook.caller()
return 'Hello {}'.format(name)
Run Code Online (Sandbox Code Playgroud)
错误:
NameError: name 'name' is not defined
Run Code Online (Sandbox Code Playgroud)
确保您正确提供了参数:
RunPython ("import Test; Test.sayhi('" & name & "')")
Run Code Online (Sandbox Code Playgroud)