我有很多我多年来编写的excel宏,我想将它们编译成一个文档或模块,其中包含我最常使用的函数(编写非常模块化并可由其他人重用)。
任何人都知道如何使用vba或其他自动化以编程方式访问excel vba模块?
答案 0 :(得分:2)
这里的主题很清楚:
答案 1 :(得分:0)
此代码
xlsm
指定的目录中的所有StrDir
个文件(在此示例中为 C:\ temp )StrDir2
( C:\ mycode )指定的第二个目录码
Sub GetCode()
Dim WB As Workbook
Dim VBProj
Dim VBComp
Dim StrDir As String
Dim StrDir2 As String
Dim StrFile As String
StrDir = "c:\temp\"
StrDir2 = "c:\mycode\"
If Len(Dir(StrDir2, vbDirectory)) = 0 Then MkDir StrDir2
StrFile = Dir(StrDir & "*.xlsm")
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Do While Len(StrFile) > 0
Set WB = Workbooks.Open(StrDir & StrFile, False)
Set VBProj = WB.VBProject
For Each VBComp In VBProj.vbcomponents
If VBComp.codemodule.countoflines > 0 Then VBComp.Export StrDir2 & StrFile & "_" & VBComp.Name & ".txt"
Next
WB.Close False
StrFile = Dir
Loop
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub