0

I am using C# interop to call a macro from C#.

This works fine.

However I am passing in an argument which the macro populates in the event of an error.

app.Run(macroName, errrObj, Type.Missing, Type.Missing, Type.Missing, ........);

Is there any way to get C# to actually read the new value that the arg is set too?

Am I doing this wrongly??

The macro simply does this

Public sub abc(errorObj as variant)
errorObj = "HELLO WORLD"
End Sub
Jack Kada
  • 24,474
  • 29
  • 82
  • 106

1 Answers1

1

No, according to the IDL, this parameter is In. There is no way to read it from C#. Alternatively, try to use a global variable:

Dim errorObject as String

Function GetError As String
    GetError = errorObject
EndFunction

Funcion func(...)
   ...
   errorObject = ....
End Function
J-16 SDiZ
  • 26,473
  • 4
  • 65
  • 84