使用VBA(Access 2010)打开C#窗体(.dll)

本文关键字:dll 窗体 打开 2010 VBA Access 使用 | 更新日期: 2023-09-27 17:57:57

我在C#中有一个简单的"登录"屏幕,用户将在其中按login,另一个窗口弹出,表示欢迎,当我在Visual Studio上构建/运行时,它正在工作。

这是代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Login_Test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Welcome");
            this.Close();
        }
    }
}

我还有一个VBA表单(Access 2010),用户将在其中单击一个按钮,然后C#表单将弹出,将来它将重定向到Access中的另一个表单,而不是说"欢迎"。

以下是VBA按钮的代码:

Private Sub Command284_Click()
    Dim objLog As Login_Test.Form1
    Set objLog = New Login_Test.Form1
End Sub

我制作了.dll,.tlb,在上面使用了regasm,并在Access上引用了它。

按下按钮时,我得到:"运行时错误429activex组件无法创建对象"。

我是不是错过了什么?

使用VBA(Access 2010)打开C#窗体(.dll)

在管理模式下启动开发人员命令提示符,运行此synatrx:

regasm.exe Login_Test.dll /tlb /CodeBase

您可以将Login_test.dll放在任何位置,只需在命令中提供完整路径即可。