如何从C#中的VBA中检索Variant数组?

时间:2017-05-23 13:33:46

标签: c# vba com interop variant

我在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);

不幸的是,似乎错误变量根本没有变化......它保持为空。如果我将它作为空数组启动,它将保持为空数组等。

任何想法我做错了什么?

0 个答案:

没有答案