【问题标题】:How to use version control with VBA code?如何在 VBA 代码中使用版本控制?
【发布时间】:2011-03-01 03:11:22
【问题描述】:
我正在开发一个非常大的 VBA 应用程序。我想使用 SVN 来开发那个应用程序。
如何从 Excel 文档中拆分我的模块以及如何将我的模块分别上传到源代码管理?
请帮助我。
【问题讨论】:
标签:
svn
version-control
vba
【解决方案2】:
我编写了一个小工具来帮助将 VBA 代码置于版本控制之下,不需要 Excel 中的任何内容,或者将您锁定在任何特定的版本控制系统中。它可以将模块从 Office 文件中提取到文件夹中,也可以将模块从文件夹中发布到 Office 文件中。无论哪种情况,它都直接访问 Office 文件,而不是通过 Excel。可用on GitHub:
Microsoft Office VBA 代码通常以二进制格式保存,因此很难进行适当的版本控制。 VBA 同步工具可在启用 VBA 的文件和文件夹之间同步宏,从而使用 Git、SVN、Mercurial 或任何其他 VCS 轻松进行版本控制。
要开始,请选择从 Office 文件中提取 VBA 选项,然后选择您的存储库的位置(或您想要启动的位置)和 Office 文件。该工具将比较两个位置并显示所有差异:
如果您想提取所有内容(通常用于设置存储库),只需单击 确定。如果您想更有选择性,您可以取消选中特定文件(例如您知道没有更改的某些表单设计),然后继续。如果你设置了一个差异工具(在文件→设置下),你可以双击一个模块来查看它的变化。
合并后,按照相同的步骤进行操作,但选择将 VBA 发布到 Office 文件选项。当您点击Apply或OK时,该工具会将合并后的代码写入Office文件。
【解决方案4】:
查看this answer,了解如何自动将所有模块/表单/类提取到文本文件中。这将使它们在 SVN 中更易于管理。