您在MS Excel(2003/2007)中使用了哪些版本的控制系统?你会推荐什么?为什么?您的顶级版本控制系统有哪些限制?
为了正确看待这一点,这里有几个用例:
我希望能够控制我的Excel电子表格的VBA模块(目前使用的是Excel 2003 SP3),以便我可以共享和管理一堆不同电子表格使用的代码 - 因此我想重新加载它们从电子表格打开时的文件.
我有一个名为Loader.bas的模块,我用它来完成大部分驴工作(加载和卸载所需的任何其他模块) - 我希望能够尽快从文件中加载它当电子表格打开时.
我已将以下代码附加到Workbook_Open事件(在ThisWorkbook类中).
Private Sub Workbook_Open()
Call RemoveLoader
Call LoadLoader
End Sub
Run Code Online (Sandbox Code Playgroud)
RemoveLoader(也在ThisWorkbook类中)包含以下代码:
Private Sub RemoveLoader()
Dim y As Integer
Dim OldModules, NumModules As Integer
Dim CompName As String
With ThisWorkbook.VBProject
NumModules = ThisWorkbook.VBProject.VBComponents.Count
y = 1
While y <= NumModules
If .VBComponents.Item(y).Type = 1 Then
CompName = .VBComponents.Item(y).Name
If VBA.Strings.InStr(CompName, "Loader") > 0 Then
OldModules = ThisWorkbook.VBProject.VBComponents.Count
.VBComponents.Remove .VBComponents(CompName)
NumModules = ThisWorkbook.VBProject.VBComponents.Count
If OldModules - NumModules = 1 Then
y = 1
Else …
Run Code Online (Sandbox Code Playgroud)