Microsoft Access 导入 vba 文件

Posted

技术标签:

【中文标题】Microsoft Access 导入 vba 文件【英文标题】:Microsoft Access import vba file 【发布时间】:2017-10-23 18:51:00 【问题描述】:

我有一个 Microsoft Access 文件,其中有很多 VBA 代码。我想在 GitHub 上使用此代码进行协作。

不幸的是,VBA 代码嵌入在 MS Access 数据库中,而不是作为单独的文件。这意味着无法从 GitHub 跟踪或观察更改。

我希望将所有 VBA 代码(大约 10 个文件)作为单独的文件。我想将这些文件导入 MS Access 数据库。这种方法允许我使用 GitHub 查看和跟踪文件的更改。

如果这是一个 Python 项目,我会编写一个单独的模块并将其导入:

import my_module

有没有办法将 VBA 文件导入 MS Access 数据库?

【问题讨论】:

Rubberduck 处理吗?我相信它主要是为 Excel 编写的,但 Access 项目应该以相同的方式运行。 (Mat'sMug 将是给出明确答案的人。) @YowE3K Rubberduck 并不真正关心 Excel,它可以在任何 VBE 主机中工作(很快也可以在 VB6 中使用!)——事实上,这正是 Rubberduck 的特色。请注意,源代码控制集成功能在此阶段被认为是实验性的,但我们确实有许多用户能够成功使用它。试一试……最坏的情况是,您发现了一个很棒的工具,并立即将项目的可导航性提高了十倍;-) 你想从 github[?] 导入一个 .bas 文件到 access 中的 vba 窗口?在 python 中做呢? 【参考方案1】:

当然。在 VBE 的 Project Explorer 中右键单击 VBA 项目 (Ctrl+R),选择 Import...,然后选择要导入的所有文件1。或者只是将它们从文件系统拖放到 Project Explorer

您可以导出文件,方法是右键单击项目资源管理器中的模块,然后选择Export 提供路径2 .

通过将文件导出到本地 git 存储库,您所需要做的就是使 VBA 项目与文件系统上的文件保持同步。

Rubberduck(我管理的一个开源 VBIDE 插件项目)可以在 VBE 中为您做到这一点,其 Source Control 面板设计像 Visual Studio 的 Team Explorer 一样工作,即将文件同步到 VBE,让您提交、拉取、推送、分支、合并等。目前没有差异工具,但您可能有一个已经最喜欢的了,Source Control 面板为您自动执行的所有 git 命令都可以使用您最喜欢的命令行工具来完成 - 它只是一个 UI……我们正在处理许多错误有了它,因此该功能目前被认为是“实验性的”,并且可能会引发异常,尤其是在推送时(关于凭据的某些事情是不正确的)。

否则,您可能会创建一个小的 VBA 宏来迭代 VBA 项目中的所有模块,并将它们导出;然后另一个迭代给定文件夹中的所有文件,并导入它们(覆盖 IDE 模块)。这个网站上有很多例子;这些都不是火箭科学,但是如果您使用 VBA 解决方案,则需要启用对 VBIDE 对象模型的编程访问,这对您来说可能是也可能不是安全问题(Rubberduck 或任何其他 VBIDE 插件,不需要该权限来操作模块)。


1 不确定 VBE 是否允许在导入时进行多项选择。 Rubberduck 的 代码浏览器 支持它们。

2 使用 Rubberduck,您可以一步导出整个项目。

【讨论】:

以上是关于Microsoft Access 导入 vba 文件的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft Access VBA 插入错误

使用 VBA 在 Microsoft Access 中创建表单

使用 VBA 将 csv 文件导入现有的访问表

打印前在 Microsoft Access 报告中运行 VBA

如何在 Microsoft Access 中通过 VBA 设置 INSERT SQL 查询的参数值?

Microsoft Access VBA 中的记录已删除消息