用于VB代码和Excel的单独文件

我正在使用Excel 2010.我在后台(VBA)中有一些代码正在不断成长。 我试图find一种方法来分离xls文件的源代码,所以我可以比较代码的变化。 换句话说,我希望代码将在文本文件中,并且每次打开Excel文件时,macros的源代码都将从该文件中获取。

提前致谢!

看看这个问题在SO上。

它提到了名为SourceTools的插件,我已经使用它并且发现它是值得的。
此外,它附带了源代码,因此可以修改它以指向特定于您的使用的源代码pipe理软件(如SVN)。

随时closures这个问题,因为我给的链接有同样的问题作为你的答案我想你正在寻找。

查看VBA中可用的各种代码清理器应用程序/代码,例如:

http://www.appspro.com/Utilities/CodeCleaner.htm

除此之外,这些将模块/表单/类导出到文本文件,删除它们,然后将它们重新插入到项目中。

有了几个MOD,这将成为你所追求的基础。

另一种可能性:我在Excel中做的不多,但是如果它的加载项像PowerPoint中那样运行,那也可能有帮助。 在PPT中,安装的加载项在PowerPoint启动时自动加载,创build所需的任何用户界面,并可用于应用程序中的任何打开的文件。 要更新代码,请修改它,创build一个新的加载项,将其放置在PPT正在查找的位置,然后重新启动PPT。 Voila …所有PPT文件的代码已更新。

会build议在这种情况下手动过程。

假设您想要对Module1进行备份,然后右键单击它并单击“ 导出文件 ”。 你会得到一个“ 导出文件 ”对话框。 将它保存为Module1 - 22 Apr - 2012.bas 。 你完成了

这将如何帮助?

1)文件名中的date会告诉你什么时候进行了备份,所以你可以实际跟踪macros的变化date。

2) .Bas文件可以用记事本打开。 这将帮助您将当前的VBA代码与相关的备份文件进行比较。

3)如果在任何时候想要从特定date检索备份,只需删除现有模块( 如果需要,备份 ),然后单击“ 导入文件 ”并将其导入到VBA中。

在这里输入图像说明

HTH

首先,谢谢大家的答复。 我的解决scheme是:1.将所有模块导出到* .bas(每个模块一个文件)。 2.添加模块代码我的电话:

 Application.VBE.ActiveVBProject.VBComponents.Import (filename) 

为每个文件.. 3.完成后:

 Set VBComp = VBProj.VBComponents(moduleName) If Err.Number = 0 Then 'no error VBProj.VBComponents.Remove VBComp 

这是删除模块,所以它不会被保存在xls退出之前