你使用过哪些版本控制系统来管理MS Excel(2003/2007)?你会推荐哪些系统?为什么?你认为你所使用的最佳版本控制系统有哪些局限性?
以下是几种应用场景:
- 对VBA模块进行版本控制
- 多人共同编辑Excel表格,可能同时更改同一工作表,需要合并和整合这些修改。该表格可能包含公式、数据、图表等元素。
- 用户不太懂技术,尽量少用版本控制系统。
- 空间限制要考虑。理想情况下,只保存增量更改,而不是整个Excel电子表格。
你使用过哪些版本控制系统来管理MS Excel(2003/2007)?你会推荐哪些系统?为什么?你认为你所使用的最佳版本控制系统有哪些局限性?
以下是几种应用场景:
如果您在办公室中处理的是常规非技术用户,则Sharepoint是一个可行的选择。您可以设置启用版本控制、签入和签出的文档文件夹,使其更加适合普通办公室用户。
针对mattlant的回复 - 在文档库中只有在版本控制功能打开的情况下,SharePoint才能很好地作为版本控制工具使用。
此外,请注意,任何调用相对路径的其他文件的代码都将无法工作。最后,在SharePoint中保存文件时,任何指向外部文件的链接都将会断开。
我也一直在研究这个问题。最新的Team Foundation Server 2010似乎有一个Excel插件。
以下是一个提示:
http://team-foundation-server.blogspot.com/2009/07/tf84037-there-was-problem-initializing.html
实际上,目前只有少数几种解决方案可以跟踪和比较宏代码的更改-其中大部分已经在此提到。我一直在浏览网络,并发现了这个值得一提的新工具:
XLTools Version Control for VBA macros
使用任何标准版本控制工具,如SVN或CVS。限制取决于目标是什么。除了存储库大小的轻微增加外,我没有遇到任何问题。
你可能尝试过使用 Microsoft 的 Excel XML 压缩容器 (.xlsx 和 .xslm) 进行版本控制,但发现 VBA 存储在 vbaProject.bin 中(这对版本控制毫无用处)。
解决方案很简单。
当您重复执行此操作以处理电子表格的下一个版本时,您必须确保文件夹中的文件与 zip 容器中的文件完全匹配(不要留下任何已删除的文件)。
*.txt
文件。代码如下:ActiveWorkbook.VBProject.VBComponents("moduleName").Export"C:\Path\To\Spreadsheet\moduleName.txt"
(在Tom's Tutorials上找到,该网站还涵盖了一些设置,您可能需要进行设置才能使其正常工作。)
由于我每次在编写代码时都会运行宏,所以我保证git会捕捉到更改。唯一让人烦恼的是,如果我需要检出早期版本,我必须手动从*.txt
复制/粘贴到电子表格中。
这取决于您想要什么级别的集成,我使用过Subversion/TortoiseSVN,对于简单的用法似乎很好。我还添加了关键字,但存在文件损坏的风险。在Subversion中有一个选项可以使关键字替换为固定长度,据我所知,如果固定长度是偶数,则可以工作,但不是奇数。无论如何,您都不会获得任何有用的差异功能,我认为有商业产品可以进行“差异”。我找到了一些基于将内容转换为纯文本并进行比较的差异,但它并不是很好。