如下所示:
'用于保存当前页面编号的变量
Dim indexPanel As Integer
输入自定义的过程代码,如下所示:
'初始化控件的过程
Private Sub init_Controls()
With lstjr
.AddItem "圣诞节"
.AddItem "中秋节"
.AddItem "国庆节"
End With
End Sub
'切换页面的过程
Private Sub changepage(iNewPanel As Integer)
If indexPanel = iNewPanel Or fWizardCallBack Then
Exit Sub
End If
'通过Controls集合对象来实现页面切换效果
frmHKWiz.Controls(Const_SHP & indexPanel).BackColor = vbWhite
frmHKWiz.Controls(Const_LBL & indexPanel).FONTBOLD = False
indexPanel = iNewPanel
frmHKWiz.Controls(Const_SHP & indexPanel).BackColor = vbGreen
frmHKWiz.Controls(Const_LBL & indexPanel).FONTBOLD = True
mpgWizardPage.Value = indexPanel
End Sub
最后输入各控件的事件代码,如下所示:
'用于模拟切换按钮的标签单击事件
Private Sub lblMap0_Click()
changepage (0)
End Sub
Private Sub lblMap1_Click()
changepage (1)
End Sub
Private Sub lblMap2_Click()
changepage (2)
End Sub
Private Sub lblMap3_Click()
changepage (3)
End Sub
Private Sub shpMap0_Click()
changepage (0)
End Sub
Private Sub shpMap1_Click()
changepage (1)
End Sub
Private Sub shpMap2_Click()
changepage (2)
End Sub
Private Sub shpMap3_Click()
changepage (3)
End Sub
Private Sub shpMap4_Click()
changepage (4)
End Sub
'“上一步”按钮单击事件
Private Sub cmdBack_Click()
If indexPanel > 0 Then
changepage (indexPanel - 1)
End If
End Sub
'“下一步”按钮单击事件
Private Sub cmdNext_Click()
If indexPanel < P_Count Then
changepage (indexPanel + 1)
End If
End Sub
'“取消”按钮单击事件
Private Sub cmdCancel_Click()
'关闭窗体
Unload Me
End Sub
'“完成”按钮单击事件
Private Sub cmdFinish_Click()
Application.ScreenUpdating = False
'调用模块中创建文档的过程,即窗体和模块的接口过程
CreateNewDoc (True)
End Sub
'窗体初始化事件
Private Sub UserForm_Initialize()
indexPanel = 0
mpgWizardPage.Value = 0
changepage (0)
init_Controls
End Sub
3.编制模块
模块用于保存向导程序中公用的代码,在工程资源管理器中添加标准模块,命名为“Common”,然后输入代码(也可模仿窗体的导入操作,将Word提供的向导程序包含的模块导入,参考并使用其中的很多过程),如下所示:
'启动向导,即向导程序的入口
Public Sub StartWizard()
'显示窗体
frmHKWiz.Show
End Sub
'创建新文档的过程,通过“fDummy”参数可使该Public类型的过程不在Word的“宏”列表中出现。
Public Sub CreateNewDoc(fDummy As Boolean)
Application.ScreenUpdating = False
'设置鼠标为“等待”形状
System.Cursor = wdCursorWait
'获取向导程序的模板
Set objWizTemplate = ActiveDocument.AttachedTemplate
'用于保存当前页面编号的变量
Dim indexPanel As Integer
输入自定义的过程代码,如下所示:
'初始化控件的过程
Private Sub init_Controls()
With lstjr
.AddItem "圣诞节"
.AddItem "中秋节"
.AddItem "国庆节"
End With
End Sub
'切换页面的过程
Private Sub changepage(iNewPanel As Integer)
If indexPanel = iNewPanel Or fWizardCallBack Then
Exit Sub
End If
'通过Controls集合对象来实现页面切换效果
frmHKWiz.Controls(Const_SHP & indexPanel).BackColor = vbWhite
frmHKWiz.Controls(Const_LBL & indexPanel).FONTBOLD = False
indexPanel = iNewPanel
frmHKWiz.Controls(Const_SHP & indexPanel).BackColor = vbGreen
frmHKWiz.Controls(Const_LBL & indexPanel).FONTBOLD = True
mpgWizardPage.Value = indexPanel
End Sub
最后输入各控件的事件代码,如下所示:
'用于模拟切换按钮的标签单击事件
Private Sub lblMap0_Click()
changepage (0)
End Sub
Private Sub lblMap1_Click()
changepage (1)
End Sub
Private Sub lblMap2_Click()
changepage (2)
End Sub
Private Sub lblMap3_Click()
changepage (3)
End Sub
Private Sub shpMap0_Click()
changepage (0)
End Sub
Private Sub shpMap1_Click()
changepage (1)
End Sub
Private Sub shpMap2_Click()
changepage (2)
End Sub
Private Sub shpMap3_Click()
changepage (3)
End Sub
Private Sub shpMap4_Click()
changepage (4)
End Sub
'“上一步”按钮单击事件
Private Sub cmdBack_Click()
If indexPanel > 0 Then
changepage (indexPanel - 1)
End If
End Sub
'“下一步”按钮单击事件
Private Sub cmdNext_Click()
If indexPanel < P_Count Then
changepage (indexPanel + 1)
End If
End Sub
'“取消”按钮单击事件
Private Sub cmdCancel_Click()
'关闭窗体
Unload Me
End Sub
'“完成”按钮单击事件
Private Sub cmdFinish_Click()
Application.ScreenUpdating = False
'调用模块中创建文档的过程,即窗体和模块的接口过程
CreateNewDoc (True)
End Sub
'窗体初始化事件
Private Sub UserForm_Initialize()
indexPanel = 0
mpgWizardPage.Value = 0
changepage (0)
init_Controls
End Sub
3.编制模块
模块用于保存向导程序中公用的代码,在工程资源管理器中添加标准模块,命名为“Common”,然后输入代码(也可模仿窗体的导入操作,将Word提供的向导程序包含的模块导入,参考并使用其中的很多过程),如下所示:
'启动向导,即向导程序的入口
Public Sub StartWizard()
'显示窗体
frmHKWiz.Show
End Sub
'创建新文档的过程,通过“fDummy”参数可使该Public类型的过程不在Word的“宏”列表中出现。
Public Sub CreateNewDoc(fDummy As Boolean)
Application.ScreenUpdating = False
'设置鼠标为“等待”形状
System.Cursor = wdCursorWait
'获取向导程序的模板
Set objWizTemplate = ActiveDocument.AttachedTemplate
| 对此文章发表了评论 |
