1

次の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 は整数ですが、エラーにはなりません!

私の間違いはどこですか?

4

2 に答える 2

1

あなたはすでにあなたのvalidate_fncnameメソッドをTrue持っていif thenますTrue.

この関数を呼び出すと、次のことができるはずです。

Dim validateResult As Boolean
Dim str as String
str = "hello"
validateResult = validate_fncname(str)
Debug.Print validateResult
于 2012-11-05T20:01:46.123 に答える