と呼ばれるカスタム ライブラリ (.dll) があるとします。Library.dll
ライブラリ内には、; というクラスがあります。クラス
testObject というオブジェクトを生成します。
Dim testObject As New Library.Class
testFunction という関数があります。
Function testFunction(var1 As Double, var2 As Double, var3 As Double, var4 As Double, _
var5 As Double, var6 As Integer, var7 As Double, var8 As Double, var9 As Double)
Call testSetup(var1, var2, var3, var4, var6, var7, var8, var9)
testFunction = testObject.Field(var5)
End Function
この関数は testSetup を呼び出します。
Sub testSetup(var1 As Double, var2 As Double, var3 As Double, var4 As Double, _
var5 As Double, var6 As Integer, var7 As Double, var8 As Double, var9 As Double)
testObject.Lat1 = var1
testObject.Lon1 = var2
testObject.Lat2 = var3
testObject.Lon2 = var4
testObject.mth = var6
testObject.GMT = var7
testObject.ssn = var8
testObject.icf = var9
End Sub
私が抱えている問題は、実行時にその場所にブレークポイントを配置すると
testObject.Lat1 = var1
実行して次の行にステップオーバーすると、オブジェクトにカーソルを合わせると
testObject.Lat1
エラーが表示されます
オブジェクト変数またはWithブロック変数が設定されていません
クラッシュはなく、失敗の原因となる明示的なエラー メッセージもありません。
誰にもアイデアはありますか?
エラーがライブラリ内にあるのかコード内にあるのかわかりませんか?
また、セルに入力することでExcelから実行されます =testFunction(var1, var2, var3....)
編集:コメントの詳細