VBA操作VBA代码本身.docEnd Sub
VBA操作 VBA代码
dadaV20190409
'基本概念:
'1、VBE对象:根对象,表示在 VBA编辑器中存在的所有对象的最上层对象;
'2、VBAproject对象:VBE编辑器中的工程;
'3、V工程中所有部件名称
Sub显示部件列表()
Dim x As Byte
With
For x = 1 To .VBComp onen unt
Cells(x + 1, 1) = .VBCompo nen ts(x).Name
Cells(x + 1,2) = .VBCompo nen ts(x).Type
Next x
End With
End Sub
'二、添加模块、过程、代码
'1添加模块(’程序运行错误,原因不明!)
Sub添加新模块B()
With nen (vbext_ct_StdModule)
.Name = "B"
End With
End Sub
vbext_ct_ClassModule 将一个类模块添加到集合
vbext_ct_MSForm 将窗体添加到集合
vbext_ct_StdModule 将标准模块添加到集合
'2在模块中添加代码
Sub添加新过程ABC()
Dim sr, code
sr = "Sub ABC()" & vbCrLf & "Msgbox "" 测试添加代码""” & vbCrLf & "End Sub"
'MsgBox sr
With ("VBA 操作 VBA 本身代码
").CodeModule '模块名称:"VBA操作VBA本身代码”
.AddFromStri ng sr
End With
End Sub
'3在模块中插入代码
操作 VBA 本身代码
Sub在B模块中的第3行插入一行代码()
With onen ts("VBA
”).CodeModule 'B 模块名称:
"VBA操作VBA本身代码",根据自身情况修改
.1 nsertLi nes 3, "'testi ng sheets(1).Select"
End With
End Sub
'三、删除模块、过程、代码
'1删除模块
Sub删除模块()
With nents
.Remove ("VBA 操作 VBA 本身代码”)’模
块名称:"VBA操作VBA本身代码”
End With
End Sub
'2删除过程
Sub删除模块中的ABC过程()
操作 VBA 本身代码
Dim开始行数,总行数
With onen ts("VBA ").CodeModule
开始行数 =P rocBodyLi ne("ABC", vbext_pk_Proc) 总行数 =P rocCou ntL in es("ABC", vbext_pk_Proc) .DeleteLines 开始行数,总行数
End With
End Sub
'四、替换、导入、导出模块(代码)
Sub替换B模块的ABC过程第一行代码()
Dim开始行数
With ("VBA 操作 VBA 本身代码
”).CodeModule 'B 模块名称:"VBA操作VBA本身代码",根据自身情况更改模块名称
开始行数 =.ProcBodyLine("ABC", vbext_pk_Proc) 'ProcBodyLine :返回过程的
第一行。
.ReplaceLine 开始行数 + 1, "MsgBox ""修改后""”
End With
End Sub
Sub替换一个模块()
'先删除模块,然后导入新模块
nen
("VBA 操作 VBA 本身代码")
nen "D:/"
End Sub
Sub导入一个模块()
ThisWork
VBA操作VBA代码本身 来自淘豆网m.daumloan.com转载请标明出处.