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
  • 23,374
  • 29
  • 79
  • 105

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
  • 25,723
  • 3
  • 63
  • 83