我正在使用C#interop从C#调用一个宏。
这很好用。
但是我传递的参数是宏在发生错误时填充的。
app.Run(macroName, errrObj, Type.Missing, Type.Missing, Type.Missing, ........);
有没有办法让C#实际读取arg设置的新值?
我做错了吗?
宏只是这样做
Public sub abc(errorObj as variant)
errorObj = "HELLO WORLD"
End Sub
答案 0 :(得分:1)
不,根据IDL,此参数为In
。没有办法从C#中读取它。或者,尝试使用全局变量:
Dim errorObject as String
Function GetError As String
GetError = errorObject
EndFunction
Funcion func(...)
...
errorObject = ....
End Function