我试图从我从python调用的Excel函数中获取返回值。
我总是得到None
值。
这是excel功能:
Public Function GetString()
GetString = "aa"
End Function
以下是电话:
xlApp.Run('ThisWorkbook.GetString')
退回:None
我没有问题进入指定的函数,因为我试图修改它的单元格值并且它有效。
我错过了什么吗?
答案 0 :(得分:0)
目前尚不清楚如何分配变量xlApp
。
假设像
import win32com.client
xl = win32com.client.Dispatch("Excel.Application")
xlApp = xlApp.Application
考虑:
您必须将结果分配给变量,如
myStr = xlApp.Run('ThisWorkbook.GetString')
您似乎已将用户定义的函数放在ThisWorkbook
中的Excel文件中。除非这是故意的,否则打开Excel文件,在Visual Basic编辑器中插入一个模块,然后移动您的函数。相应地修改你的Python调用。
您可能希望将该功能定义为
Public Function GetString() as String
请参阅 How to call Excel VBA functions and subs using Python win32com?