PrivateSub CheckBox2_zheYe_Click()'鼠标按下几折页单选时触发IfMe.CheckBox2_zheYe ThenMe.TextBox3_zheYeShu.Enabled =True'让右侧方框有效Me.TextBox3_zheYeShu.BackColor =&HFFFFFF '让右侧方框变白ElseMe.TextBox3_zheYeShu.Enabled =False'让右侧方框无效Me.TextBox3_zheYeShu.BackColor =&HCCCCCC '让右侧方框变灰EndIfEndSubPrivateSub UserForm_Initialize()'面板初始化函数Me.OptionButton5_none.Value =TrueMe.TextBox3_zheYeShu.Enabled =False'让右侧方框无效Me.TextBox3_zheYeShu.BackColor =&HCCCCCC '让右侧方框变灰EndSubPrivateSub CommandButton1_shengCheng_Click()'按下生成按钮触发Dim a As uniformSize '设变量a为类的类型Set a =New uniformSize '创建uniformSize的对象IfMe.TextBox1_kuan.Value <>""Then
a.kuan =Me.TextBox1_kuan.Value '给a中的kuan赋值Else
MsgBox "未输入宽度"GoTo cuowu
EndIfIfMe.TextBox2_gao.Value <>""Then
a.gao =Me.TextBox2_gao.Value '给a中的gao赋值Else
MsgBox "未输入高度"GoTo cuowu
EndIf'给出血赋值IfMe.OptionButton5_none.Value Then
a.chuXue =0ElseIfMe.OptionButton1.Value Then
a.chuXue =1ElseIfMe.OptionButton3.Value Then
a.chuXue =2ElseIfMe.OptionButton4.Value Then
a.chuXue =3EndIf
a.zheOrNot =Me.CheckBox2_zheYe '检测是否要折页If a.zheOrNot Then
a.zheYe =Me.TextBox3_zheYeShu.Value '给折页数赋值EndIf
a.ShuZhe =Me.CheckBox3_shuZhe.Value '检测是否要竖折
Unload Me'卸载并关闭这个面板,因为这个面板的作用已经达到,这里的Me用面板名称替代也可以On ErrorGoTo cuowu
CorelDRAW.Optimization =True
CorelDRAW.ActiveDocument.BeginCommandGroup
CorelDRAW.ActiveDocument.Unit = cdrMillimeter
a.drawRect '执行画框函数
a.drawGuideLine '执行辅助线函数If a.zheOrNot Then'如果勾选了折页
a.drawZheYe '执行折页线函数EndIfset a =nothing'手动回收对象a
cuowu:
CorelDRAW.ActiveDocument.EndCommandGroup
CorelDRAW.Optimization =False
CorelDRAW.Refresh
EndSub
好了,调用的函数也已经弄好了,这里回收的时候用了set a = nothing,直接回收这个对象,可以看到我们在这里的调用当中全部面向的是a对象,这就叫面向对象编程,换句话说就是面向类(公司)编程,可以把各种功能全都做成各种类(公司),当然了,VB中的类不支持向构造函数中传参,所以也不存在重构函数,它的类只能是有一个固定功能,所以看到这里关于类的另一个好处也是显而易见的,那就是a只是我们创造的对象之一,那么我们还可以同时构造出相同的Set b = New uniformSize,c,d…等等,所以有了类,我们就可以使用很短的时间创造出相似功能的对象,极大的提高了代码的重复利用率,同时也就是精简了代码行数