我正在寻找一个版本控制系统,我可以将其用于VBA代码,可能采用加载项的形式,但类似于 SVN 或 Git 甚至是商业软件。我知道有一个讨论here和there但是,他们的年龄超过了6年,这并不是我想要的。我知道可以使用 Tortoise SVN 仅用于代码,但不能用于整个项目(代码+表的所有模块),我知道它可以手动完成。
答案 0 :(得分:9)
注意:此功能已被删除。 Rubberduck仍然允许将所有代码文件从VBA项目导出到文件系统,但是从2019/02/08开始,它允许导入所有代码文件同时,它不会覆盖导入时的现有模块,这使得这个答案几乎无效。
免责声明:我是Rubberduck VBA项目的撰稿人。
VBE的Rubberduck VBA插件增加了许多功能,包括所有VBA主机的源代码控制。它是积极开发的,开源的和免费的,可以在Excel 2000以及32位和64位版本的Office中使用所有版本的Excel(以及Access,Word和PowerPoint等)
Rubberduck使用LibGit2Sharp库,因此您可以直接与GitHub和其他基于云的服务集成,或者您只需将模块和表单导出到文件夹。
您可以在这里找到GitHub上的项目:https://github.com/rubberduck-vba/Rubberduck
答案 1 :(得分:2)
我认为没有任何针对Excel VBA的引人注目的源代码控制系统,您只需选择一个已有的名称并将其调整为Excel VBA即可。
所以,我最近使用(并且仍会选择)GIT,但我必须将模块导出到目录。我工作的其他企业级Excel系统具有类似的导出模块,并单独对其进行版本化。
对于床单,他们通常被收纳为二进制文件;只有一次,我在一个系统上工作,该系统存储了自己进行源代码控制版本比较的工作表逻辑,它是一个自定义的Xml格式。
有趣的是,xlsm和xslx的最新Excel文件格式格式实际上是片段逻辑雾化的zip目录。我已经研究过这种文件格式,它不适合作为源代码控制的版本。我认为微软在这里错过了一个技巧。