我可以在我的电脑上运行xlwings udf示例。但是,我目前的项目要求我:
直觉上,我认为xlam addins只是一种特殊的工作簿,因此我将它们与适当命名的python脚本一起保存在同一个文件夹中。但是,一旦我运行一个调用xlwings udf的测试宏,我会收到类似这样的错误消息(我正在运行" test_udf")。
以下是完整的错误消息:
"ModuleNotFoundError: No module named 'udf'
File ""<frozen importlib._bootstrap>"", line 953, in _find_and_load_unlocked
File ""<frozen importlib._bootstrap>"", line 971, in _find_and_load
File ""<frozen importlib._bootstrap>"", line 994, in _gcd_import
return _bootstrap._gcd_import(name[level:], package, level)
File ""C:\ProgramData\Anaconda3\lib\importlib\__init__.py"", line 126, in import_module
module = import_module(module_name)
File ""C:\ProgramData\Anaconda3\lib\site-packages\xlwings\udfs.py"", line 208, in get_udf_module
module = get_udf_module(module_name)
File ""C:\ProgramData\Anaconda3\lib\site-packages\xlwings\udfs.py"", line 221, in call_udf
res = call_udf(script, fname, args, this_workbook, FromVariant(caller))
File ""C:\ProgramData\Anaconda3\lib\site-packages\xlwings\server.py"", line 190, in CallUDF
return func(*args)
File ""C:\ProgramData\Anaconda3\lib\site-packages\win32com\server\policy.py"", line 586, in _invokeex_
return S_OK, -1, self._invokeex_(dispid, lcid, wFlags, args, None, None)
File ""C:\ProgramData\Anaconda3\lib\site-packages\win32com\server\policy.py"", line 283, in _invoke_
return self._invoke_(dispid, lcid, wFlags, args)
File ""C:\ProgramData\Anaconda3\lib\site-packages\win32com\server\policy.py"", line 278, in _Invoke_"
基本上,我的sub的重要部分只是
Sub test_udf()
Debug.Print double_sum(1.1, 2.2)
End Sub
其中double_sum位于同一模块中。你知道哪里出了问题吗?是因为他们生活在一个xlam插件里面吗?如何解决这个问题?非常感谢!