我希望能够控制我的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) 我正在开发一个非常大的VBA应用程序.我想使用SVN开发该应用程序.
如何从Excel文档中拆分模块以及如何将模块单独上载到源代码管理?
请帮我.
有没有人知道从许多Excel文档导出VBA代码的方法,以便可以将代码添加到subversion存储库中?无需手动打开每个文档并导出代码.
我一直在Excel中遇到一些奇怪的怪癖,同时以编程方式删除模块,然后从文件中重新导入它们.基本上,我有一个名为VersionControl的模块,它应该将我的文件导出到预定义的文件夹,并根据需要重新导入它们.这是重新导入的代码(下面介绍了它的问题):
Dim i As Integer
Dim ModuleName As String
Application.EnableEvents = False
With ThisWorkbook.VBProject
For i = 1 To .VBComponents.Count
If .VBComponents(i).CodeModule.CountOfLines > 0 Then
ModuleName = .VBComponents(i).CodeModule.Name
If ModuleName <> "VersionControl" Then
If PathExists(VersionControlPath & "\" & ModuleName & ".bas") Then
Call .VBComponents.Remove(.VBComponents(ModuleName))
Call .VBComponents.Import(VersionControlPath & "\" & ModuleName & ".bas")
Else
MsgBox VersionControlPath & "\" & ModuleName & ".bas" & " cannot be found. No operation will be attempted for that module."
End If
End If
End If …Run Code Online (Sandbox Code Playgroud) 我在Excel中继承了一些VBA并想把它放到git中.就目前而言,git将其视为二进制文件,并且不希望进行文件更改增量,而是复制整个文件.
我想将各个宏分解为文件以将它们放入git中.有没有标准的方法来做到这一点?
我们是一名ISV,拥有开发和分发用VB6编写的桌面应用程序的经验.我们现在正在开发包含VBA代码的Excel电子表格工具.这些将免费下载给包括当地政府组织在内的各种用户.
我们以前很少在我们自己的组织之外分发电子表格.我们应该遵循哪些最佳做法,是否存在我们应该注意的陷阱?
我知道以下内容.
我正在使用Team Foundation Services(TFS 2012)进行开发项目。
我想知道TFS是否可以用于Excel文件的版本控制吗?
特别:
我正在研究一个excel宏,显然我没有使用支持vba宏的格式保存.所以当我打开文件时,我找不到vba代码.有没有办法恢复我写的代码,特别是在核心编写期间我多次在编辑器中按下保存按钮?
如果你能节省我4小时的工作,我将不胜感激.