我在VBA中调用一个函数,我想从中检索一个字符串数组。为此,我使用Variant类型的ByRef参数声明了一个函数:
Public Function TestErrorsInArray(ByVal path As String, ByRef errors As Variant) As String
errors = Array("string1", "string2", "string3")
End Function
我在VBA中使用以下子测试它:
Public Sub TestTestErrorsInArray()
Dim arr As Variant
arr = Array("foo", "bar")
TestErrorsInArray "", arr
End Sub
它运作正常 - arr值更改为错误列表中的值。
在C#中我称之为:
object errors = null;
var test = WordTools.GetWordApplication().Run("TestErrorsInArray", "", errors);
不幸的是,似乎错误变量根本没有变化......它保持为空。如果我将它作为空数组启动,它将保持为空数组等。
任何想法我做错了什么?