玖叶教程网

前端编程开发入门

(17)VBA工程参考((17)VBA参考书)


工程属性

With Application.VBE.ActiveVBProject

.Name

.Description

.Filename

.HelpFile

.Type

.Protection

.Mode

End With


设置工程属性

With Application.VBE.ActiveVBProject

.Name="***"

.Description="***"

.HelpFile=ThisWorkbook.Path & "\myHelp.txt"

End With


工程对象

Application.VBE.ActiveVBProject.VBComponents(1).Name

Application.VBE.ActiveVBProject.VBComponents(1).Type

返回值为:

1

2

3

100


重命名对象名称

Application.VBE.ActiveVBProject.VBComponents("旧名").Name="新名"


导出对象到文件夹

Application.VBE.ActiveVBProject.VBComponents("对象名称").Export "路径" & "名称"


导入对象到工程中

With Application.VBE.ActiveVBProject.VBComponents

.Import "路径" & "名称"

.Item(.Count).Name="新名"

End With


引用项目

ThisWorkbook.VBProject.References.AddFromFile "项目路径"


取消引用项目

ThisWorkbook.VBProject.References.Remove ThisWorkbook.VBProject.References("项目名")


显示当前所有引用

For Each rf In ThisWorkbook.VBProject.References

MsgBox rf.Name & vbCrLf & rf.FullPath

Next


需要引用工程

Microsoft Visual Basic for Application Extensibility 5.3


插入窗体

With ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm)

.Properties("Name")="我的窗体"

.Properties("Caption")="***"

.Properties("Height")=n

.Properties("Width")=n

End With


删除窗体

ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("窗体名")


插入模块

ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule).Name="我的模块"


删除模块

ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("模块名")


插入类模块

ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_ClassModule).Name="我的类模块"


删除类模块

ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("类名")


写入代码

With ThisWorkbook.VBProject.VBComponents("我的模块").CodeModule

.DeleteLines 1, .CountOfLines

.InsertLines 1, "Public Sub hhh()"

.InsertLines 2, Space(4) & "a=100:b=200"

.InsertLines 3, Space(4) & "c=a+b"

.InsertLines 4, Space(4) & "msgbox ""c="" & c"

.InsertLines 5, "End Sub"

End With

Call run_hhh


删除某过程所有代码

With ThisWorkbook.VBProject.VBComponents("模块名").CodeModule

.DeleteLines .ProcStartLine("过程名", 0), .ProcCountLines("过程名", 0)

End With


删除某模块某些代码

ThisWorkbook.VBProject.VBComponents("模块名").CodeModule.DeleteLines x, y


删除某模块所有代码

With ThisWorkbook.VBProject.VBComponents("模块名").CodeModule

.DeleteLines 1, .CountOfLines

End With


修改某模块某行代码

ThisWorkbook.VBProject.VBComponents("模块名").CodeModule.ReplaceLine x, "代码"


模块中某过程代码行数

ThisWorkbook.VBProject.VBComponents("模块名").CodeModule.ProcCountLines("过程名", vbext_pk_Proc)


模块中所有程序代码行数

ThisWorkbook.VBProject.VBComponents("模块名").CodeModule.CountOfLines


提取模块中程序代码

ThisWorkbook.VBProject.VBComponents("模块名").CodeModule.Lines(x, y)

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言