我有以下 vba 函数(在 Excel 文件中的模块中)
Public Function validate_fncname(strFncname As String) As Boolean
.
.
.
validate_fncname = True
End Function
我写了以下 vbscript 来调用它:
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\Users\uidu8611\Desktop\CAM0500040F10_SW_Quality_Assurance_Report_Template(new_version).xlsm")
objExcel.Application.Visible = True
Dim str
str ="hello"
Dim validate_fncname
validate_fncname = objExcel.Application.Run("'C:\Users\uidu8611\Desktop\CAM0500040F10_SW_Quality_Assurance_Report_Template(new_version).xlsm'!validate_fncname", str)
Wscript.Echo validate_fncname
但是,当我运行脚本时,它给了我该行的类型不匹配错误:
objExcel.Application.Run("'C:\Users\uidu8611\Desktop\CAM0500040F10_SW_Quality_Assurance_Report_Template(new_version).xlsm'!validate_fncname", str)
尽管类型正确(字符串)
此外,如果我将其更改为:
objExcel.Application.Run("'C:\Users\uidu8611\Desktop\CAM0500040F10_SW_Quality_Assurance_Report_Template(new_version).xlsm'!validate_fncname(5)")
它不会给我一个错误,虽然 5 是整数!
请问我的错在哪里?