Использование .Net DLL в Microsoft Access VBA - PullRequest
7 голосов
/ 13 января 2012

Хорошо, поэтому у меня есть сборка, написанная на C #, с использованием Visual Studio 2010.

Эта сборка содержит один класс, который содержит один метод, который возвращает слово Result, код приведен ниже:

using System.Runtime.InteropServices;

namespace TestDLL
{
    public class Class1
    {
        [ComVisible(true)]
        public string TestMethod()
        {
            return "Result";
        }
    }
}

Раздел вывода на вкладке Build в окне свойств выглядит следующим образом:

Visual Studio Output Window

Когда я нажимаю на Build, я получаю файл DLL и файл TLB,Я могу добавить этот файл TLB в Microsoft Access, просто перейдя к нему.

VBA Reference Window

Теперь в Access у меня есть кнопка и метка.Я хочу сделать свойство Caption моей метки равным результату testMethod.Я думаю, мне нужно сделать что-то похожее на ниже, но я не уверен, любая помощь будет высоко ценится:

Private Sub btnMain_Click()

    Dim tm As TestDLL
    Dim foo As String

    foo = tm.testMethod

    lblBarr.Caption = foo

End Sub

Спасибо

1 Ответ

8 голосов
/ 13 января 2012

Может быть, дальше будет работать:

Private Sub btnMain_Click()

    Dim tm As TestDLL.Class1
    Dim foo As String

    Set tm = New TestDLL.Class1
    foo = tm.testMethod

    lblBarr.Caption = foo

End Sub
...