当我从 vbscript 调用下面的宏时,为什么会出现类型不匹配错误
parameter.xlsm 中的宏
Sub Proc(sParam1 As String, iParam2 As Integer)
MsgBox sParam1 & " is " & iParam2 & " Years Old"
End Sub
VB脚本代码
Dim objExcel,objWorkbook
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\ExcelFiles\parameter.xlsm")
sParam1 = Inputbox("Enter the first parameter")
iParam2 = Inputbox("Enter the second parameter")
iParam3= CInt(iParam2)
objExcel.Application.Visible = True
objExcel.Application.Run "parameter.xlsm!Proc",sParam1,iParam3
objExcel.ActiveWorkbook.Close
objExcel.Application.Quit
WScript.Echo "Finished."
WScript.Quit
最佳答案
在您的过程中,您正在连接字符串,但第二个参数是整数类型。您需要先使用 CStr() 函数转换为字符串
Sub Proc(sParam1 As String, iParam2 As Integer)
MsgBox sParam1 & " is " & CStr(iParam2) & " Years Old"
End Sub
关于excel - 为什么从 vbscript 调用宏时出现类型不匹配错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23487575/