龙空技术网

如何用代码创建类模块,VBA编程进阶学习,千万别错过

江觅 1066

前言:

现时各位老铁们对“vb中类模块”大概比较注重,同学们都需要学习一些“vb中类模块”的相关资讯。那么小编在网摘上网罗了一些有关“vb中类模块””的相关内容,希望同学们能喜欢,看官们一起来了解一下吧!

Excel vba编程进入深水阶段,那就对底层的一些代码构建有一定的了解。

类模块就是其重要的一环,可以利用类模块做一些十分有用的事情。

其实在VBA实际应用中,离不开类模块的运用,只有我们并不知道而已。

每一个代码之后,或许就应用到类模块,大多是系统给我们预置完成的一些模块,看上去并不能很明显地发现,但它实实在在的存在,并处理着所有的表格功能。

本节重点讲一下,如何利用代码来创建一个类模块和删除一个类模块。

然后再给新建的类模块添加代码,代码可以是你想构建的任何功能。

上图为本节示例中的部分代码。

三个按钮分别实现不同的功能,下面具体看代码进行认识,功能都进行了模块化构建,所以在使用的时候要分清楚什么地使用这些代码。

添加类模块过程:

Public Sub AddClassCode(ClassName As String, CodeString As String)'添加类模块代码Dim Class As ObjectFor Each Class In ThisWorkbook.VBProject.VBComponents    If Class.Name = ClassName Then        Class.CodeModule.AddFromString (CodeString)    End IfNext ClassEnd Sub

删除类模块过程:

Public Sub DelClass(ClassName As String)'删除类模块Dim Class As ObjectFor Each Class In ThisWorkbook.VBProject.VBComponents    If Class.Name = ClassName Then        ThisWorkbook.VBProject.VBComponents.Remove Class    End IfNext ClassEnd Sub

添加类模块代码过程:

Public Sub AddClassCode(ClassName As String, CodeString As String)'添加类模块代码Dim Class As ObjectFor Each Class In ThisWorkbook.VBProject.VBComponents    If Class.Name = ClassName Then        Class.CodeModule.AddFromString (CodeString)    End IfNext ClassEnd Sub

调用如上代码使用下面的按钮过程:

Private Sub CommandButton1_Click()Dim ClassName As String, CodeString As StringClassName = "NewClass01" '定义类模块名称DelClass ClassName '删除类模块addClass ClassName '添加类模块'定义类模块代码CodeString = "Public s As New Worksheet" & VBA.vbCrLfCodeString = CodeString & "Private Sub opensheet(s As Worksheet)" & VBA.vbCrLfCodeString = CodeString & "Set s = ActiveSheet(2)" & VBA.vbCrLfCodeString = CodeString & "s.Select" & VBA.vbCrLfCodeString = CodeString & "End Sub" & VBA.vbCrLfAddClassCode ClassName, CodeString '添加类模块代码End Sub

具体实现方法仔细看代码,就会慢慢明白。

下面列出重点代码:

添加类模块:ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_ClassModule)删除类模块:ThisWorkbook.VBProject.VBComponents.Remove "类模块对象"添加类模块代码:ThisWorkbook.VBProject.VBComponents("类模块名").CodeModule.AddFromString (CodeString)

类模块是一个比较难学习的内容,要多次进行练习,如果很难入门,也不要太着急,如果不是深入编程,进行一些很繁杂的程序处理,基本也用不着。

但是,如果学会之后,那将是一个很大的进步。

至于如何利用类模块来实现一些功能,以后有机会,慢慢做一些示例进行讲解。

欢迎关注、收藏

---END--

标签: #vb中类模块 #vb的类模块是什么