首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Access 2003数据库上运行C#中的表单和VBA代码

在Access 2003数据库上运行C#中的表单和VBA代码
EN

Stack Overflow用户
提问于 2009-10-27 22:26:59
回答 2查看 716关注 0票数 1

跟罐头上写的差不多。我试着用谷歌搜索,但找不到任何有用的东西。

我正在尝试自动化一个过程,其中一部分涉及从access 2003数据库运行forms/VBA代码。从C#调用这些函数的最佳方式是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-10-27 22:45:45

通过Primary Interop Assemblies,您可以从C#应用程序自动访问2003。特别是,您应该能够使用诸如DoCmd.OpenFormDoCmd.RunCode之类的命令,从而允许您运行Access2003表单和VBA代码。

票数 1
EN

Stack Overflow用户

发布于 2009-10-27 22:32:42

在单独的COM dll中创建VBA代码,然后就可以使用COM interop从C#调用。

例如,参见SO问题:Using a COM dll from C# without a type library

您可以使用C#项目中的COM组件。一般步骤如下:

  1. 找到要使用的COM组件并注册它。使用regsvr32.exe注册或注销COM DLL。
  2. 将对COM组件或类型库的引用添加到项目中。

添加引用时,Visual Studio使用接受类型库作为输入的类型库导入程序(Tlbimp.exe)输出.NET Framework互操作程序集。该程序集也称为运行时可调用包装(RCW),它包含包装类型库中的COM类和接口的托管类和接口。Visual Studio将对生成的程序集的引用添加到项目中。

  1. 创建在RCW中定义的类的实例。这又创建了COM对象的一个实例。
  2. 使用该对象就像您使用其他托管对象一样。当垃圾回收回收对象时,COM对象的实例也会从内存中释放。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1631187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档