我正在创建一个必须在 Access mdb 数据库文件中调用 subs 的 C# 应用程序。
我在 mdb 文件中创建了一个测试子,我可以从 C# 调用它并传递参数。一切正常,但我想将结果传递回 C#。我知道我不能用函数来做到这一点,所以是否可以通过引用传递变量,然后 vba 可以更改变量并得到我的结果?我尝试了以下方法,但它不起作用。有人知道这是否可能吗?
谢谢
VBA 测试子:
Sub test(Byref p1 As String)
p1="bar"
MsgBox p1
End Sub
从 C# 调用它:
Access.Application oAccess = new Access.Application();
oAccess.Visible = true;
oAccess.OpenCurrentDatabase("d:\\tmp\\test1.mdb", false, "");
string t;
t = "foo"
oAccess.Run("test", t);
//t still equals "foo" at this point, it should be equal to "bar"