您的位置:首页 > 编程语言 > VB

VBA控件常规使用--multiPage 控件

2008-07-15 13:40 1836 查看
使用 MultiPage 控件来处理大量可被分为几类排序信息。 MultiPage 控件由组成一个或多个 Page 对象, 每个包含不同组的控件。 以编程方式通过设置 MultiPage 控件的 Value 属性设置活动页。

如何控制 MultiPage 控件编程

要添加 MultiPage 控件并控制它通过使用宏, 请按照下列步骤操作:
1.启动 Excel, 并打开新空白工作簿。
2.在 工具 菜单, 指向 宏 , 然后单击 VisualBasic 编辑器 。
3.在 插入 菜单上, 单击要在工作簿中插入 UserForm UserForm 。
4.添加到 UserForm MultiPage 控件。
5.将 Label 控件添加到 Page 1 多页 控件上。
6.将 TextBox 控件添加到 Page 1 多页 控件上。
7.MultiPage 控件, 上单击, Page 2 , 然后重复步骤 5 和 6 以添加一个 Label 控件和 TextBox 控件。
8.双击要打开代码窗口对 MultiPage 控件 MultiPage 控件。
9.在代码窗口, 为 MultiPage1 Change 事件键入下列代码:
Private Sub MultiPage1_Change()
Select Case MultiPage1.Value
' If activating Page1...
Case 0
Label1.Caption = TextBox2.Text
TextBox1.Text = ""
' If activating Page2...
Case 1
Label2.Caption = TextBox1.Text
TextBox2.Text = ""
End Select
End Sub
10.在代码窗口, 为 UserForm Initialize 事件键入下列代码:
Private Sub UserForm_Initialize()
' Force Page1 to be active when UserForm is displayed.
MultiPage1.Value = 0
Label1.Caption = ""
End Sub
11.在 运行 菜单上, 单击 运行子过程 / 用户窗体 。

Page 1, 上 TextBox 控件中键入 Test 。 当单击 Page 2 选项卡、 TextBox 2 被清除, 和标题为 Label 2 变为项, 在 Page 1 上 TextBox 所做 (" Test ") (" Test ")

如何通过使用 MultiPage 控件创建一个向导界面

将任务需要几个增量步骤, 向导界面可能会非常有效。 您可使用 MultiPage 控件以创建一个向导界面代替使用多用户窗体。 本示例操作具有三页 MultiPage 控件。 附加到对 UserForm Initialize 事件过程禁用 Page 2 和 Page3, 并强制 Page 1 的 多页 控件可活动。

注意 您通过使用 Pages 集合, 索引 MultiPage 控件的页面时集合中第一页是零页。 此过程还设置标题的 CommandButton 控件并禁用 < 备份 按钮。

注意的功能是分配给 CommandButton 1 控件的 Click 事件过程 " 后退 " 按钮 < 是分配给 CommandButton 2 是 Click 事件过程控制功能的下一步 > 按钮。 若要通过使用 MultiPage 控件, 创建一个向导界面请按照下列步骤:
1.启动 Excel, 并打开新空白工作簿。
2.在 工具 菜单, 指向 宏 , 然后单击 VisualBasic 编辑器 。
3.在 插入 菜单上, 单击要在工作簿中插入 UserForm UserForm 。
4.添加到 UserForm MultiPage 控件。
5.右键单击, " Page 1 选项卡, 然后单击要添加到 多页 控件 Page3 新页 。
6.添加一个 CommandButton 控件不位于 多页 控件上 UserForm 上。

重复此步骤可添加一个 UserForm 上二 CommandButton 控件。
7.双击以打开代码窗口对于 UserForm UserForm 。
8.在代码窗口, 为 UserForm Initialize 事件键入下列代码:
Private Sub UserForm_Initialize()
With MultiPage1
' The next 2 lines disable Page2 & Page3.
.Pages(1).Enabled = False
.Pages(2).Enabled = False
' Make Page1 the active page.
.Value = 0
End With
' Set the caption on the CommandButtons.
CommandButton1.Caption = "<Back"
CommandButton1.Enabled = False
CommandButton2.Caption = "Next>"
End Sub
' Procedure for the "<Back" button
Private Sub CommandButton1_Click()
Select Case MultiPage1.Value
Case 1                                 ' If Page2 is active...
With MultiPage1
.Pages(0).Enabled = True       ' Enable Page1.
.Value = MultiPage1.Value - 1  ' Move back 1 page.
.Pages(1).Enabled = False      ' Disable Page2.
End With
CommandButton1.Enabled = False     ' Disable Back button.
Case 2                                 ' If Page3 is active...
With MultiPage1
.Pages(1).Enabled = True       ' Enable Page2.
.Value = MultiPage1.Value - 1  ' Move back 1 page.
.Pages(2).Enabled = False      ' Disable Page3.
CommandButton2.Caption = "Next>"
End With
End Select
End Sub
' Procedure for the "Next>" button
Private Sub CommandButton2_Click()
Select Case MultiPage1.Value
Case 0                                  ' If Page1 is active...
With MultiPage1
.Value = MultiPage1.Value + 1   ' Move forward 1 page.
.Pages(1).Enabled = True        ' Enable Page2.
.Pages(0).Enabled = False       ' Disable Page1.
End With
CommandButton1.Enabled = True       ' Enable Back button.
Case 1                                  ' If Page2 is active...
With MultiPage1
.Value = MultiPage1.Value + 1   ' Move forward 1 page.
.Pages(2).Enabled = True        ' Enable Page3.
.Pages(1).Enabled = False       ' Disable Page2.
End With
CommandButton2.Caption = "Finish"   ' Change Next button to Finish.
Case 2                                  ' If Page3 is active...
MsgBox "Finished!"                  ' User is Finished.
Unload Me                           ' Unload the UserForm.
End Select
End Sub
9.在 运行 菜单上, 单击 运行子过程 / 用户窗体 。
当您单击下一步 > 激活 Page 2 后退 " 按钮可, 和 < 当您单击 Next > 第二次, Page3 激活并题注为 CommandButton 2 更改为 " 完成 "。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: