Excel-VBA代码的版本控制系统

5

我正在寻找一个版本控制系统,可以用于VBA代码,可能是以插件的形式,类似于SVNGit,甚至是商业软件。我知道有一个讨论在这里在那里,但它们比6年前还要老,那不是我想要的。我知道可以仅使用Tortoise SVN来处理代码,但不能处理整个项目(所有代码模块+表),而且我知道可以手动完成。


1
你需要回答什么具体问题呢? - Tim Biegeleisen
1
好的,你已经提到了几个。在这里,你不能期望得到一个比另一个更好的建议。 - Tim Biegeleisen
2
据我所知,选择版本控制工具并不十分依赖于编程语言,除非您正在寻找特殊的集成。个人而言,我会选择Git。 - Tim Biegeleisen
1
Git 集成了?哇,好棒!这怎么可能?看起来正是我想要的。 - maniA
1
尝试使用Git教程。如果您在某个特定位置卡住了,那么请带着一个专注的问题回到这里。 - Tim Biegeleisen
显示剩余2条评论
2个回答

10

注意: 此功能已经被删除。 Rubberduck仍然允许导出VBA项目的所有代码文件到文件系统中,但截至2019/02/08,虽然它允许一次性导入所有代码文件,但它不会在导入时覆盖现有模块,这使得此答案基本上无效。

免责声明:我是Rubberduck VBA项目的贡献者。

用于VBE的Rubberduck VBA插件添加了多个功能,包括所有VBA主机的源控制。它是活跃开发的、开源的、免费的,并且适用于Excel(以及Access、Word、PowerPoint等)从Excel 2000版本开始的所有版本和32位与64位的Office。

Rubberduck使用LibGit2Sharp库,因此您可以直接集成GitHub和其他基于云的服务,或者您可以将模块和表单简单地导出到一个文件夹中。

您可以在GitHub上找到该项目:https://github.com/rubberduck-vba/Rubberduck


2
另外,您可以在git pre-commit钩子的一部分中运行Python脚本,自动提取您的VBA模块并将其添加到提交中,如此处所述https://www.xltrail.com/blog/auto-export-vba-commit-hook - Bjoern Stiel

3
我认为没有针对Excel VBA的强制性源代码控制系统,你只能从现有的名称中选择一个,并将其适应于Excel VBA。因此,我最近使用(并仍会选择)GIT,但我必须将模块导出到目录中。我曾经在其他企业级Excel系统上工作过,这些系统类似地导出模块并单独进行版本控制。至于表格,它们通常存储为二进制文件;只有一次我曾经在一个存储表格逻辑的系统上工作过,这使得它适合进行源代码控制版本比较,那是一个自定义的XML格式。有趣的是,最新的Excel文件格式xlsm和xslx实际上是分解的表格逻辑的zip目录。我研究过这个文件格式,发现它不太适合通过源代码控制进行版本控制。我认为Microsoft在这里错过了一个机会。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接