vba控件常规使用
UserForm 基础
如何显示 UserForm
以下是用于显示 UserForm 编程语法是: UserFormName .Show
要显示名为 UserForm1, UserForm 使用以下代码:
UserForm1.Show
不显示它实际上还能加载 UserForm 装入内存。 复杂 UserForm 可能需要几秒钟以显示。 因为预先您能加载到内存, UserForm 可决定何时导致此开销。 要加载到内存 UserForm1 不显示它, 使用以下代码:
Load UserForm1
若要显示 UserForm, 必须使用以前已显示 显示 方法。
如何以暂时隐藏 UserForm
如果要暂时隐藏 UserForm, 使用 隐藏 方法。 可能想要隐藏 UserForm 如果应用程序涉及用户窗体之间移动。 要隐藏 UserForm, 使用以下代码:
UserForm1.Hide
如何从内存删除 UserForm
要从内存, 删除 UserForm 使用 Unload 语句。 要卸载, 名为 UserForm1, UserForm 使用以下代码:
Unload UserForm1
如果您卸载 UserForm, 是与 UserForm 或者, 是与 UserForm 上控件的事件过程中 (例如, 您单击 CommandButton 控件), 您可以使用 \我 \关键字代替的 UserForm 名称。 将关键字用于卸载 UserForm, \使用以下代码:
Unload Me
如何使用 UserForm 事件
支持许多预定义事件, 可以附加到 VBA 过程。 在事件发生时, 该附加到事件过程运行。 单个操作由用户执行可初始化多事件。 之间最经常对 UserForm 使用事件是 Initialize 事件、 Click 事件, 和 Terminate 事件。
注意 包含事件过程 Visual Basic 模块可能称为 \后面 \模块。 模块包含事件过程是不可见的 VisualBasic 编辑器 Project MicrosoftInternetExplorer 窗口 Modules 集合中。 您必须双击正文部分 UserForm 以查看 UserForm 代码模块。
如何捕获 UserForm 事件
要捕获 UserForm 事件, 请按照下列步骤操作:
1. Excel 中创建新工作簿。
2. 在 工具 菜单, 指向 宏 , 然后单击 VisualBasic 编辑器 。 3. 在 插入 菜单上, 单击要在工作簿中插入 UserForm UserForm 。 4. 双击以显示代码窗口对于 UserForm UserForm 。
模块, 中键入如下代码:
Private Sub UserForm_Click()
Me.Height = Int(Rnd * 500) Me.Width = Int(Rnd * 750) End Sub
Private Sub UserForm_Initialize() Me.Caption = \ Me.BackColor = RGB(10, 25, 100) End Sub
Private Sub UserForm_Resize()
msg = \5. Me.Height
MsgBox prompt:=msg, Title:=\ End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
msg = \
MsgBox prompt:=msg, Title:=\ End Sub
Private Sub UserForm_Terminate() msg = \
MsgBox prompt:=msg, Title:=\ End Sub 6. 在 运行 菜单上, 单击 运行子过程 / 用户窗体 。
UserForm 首先加载, 时宏使用 Initialize 事件改为 \事件事件事件 ! \和 BackColor 属性以深蓝色的 UserForm Caption 属性。
当您单击 UserForm, 您初始化 Click 事件。 调整 UserForm Click 事件。 因为您创建 Resize 事件, 过程单击 UserForm 后收到两个消息框。 因为 Click 事件代码更改宽度属性和 Height 属性是 UserForm Resize 事件发生两次。
关闭 UserForm 初始化 QueryClose 事件。 QueryClose 事件显示消息框包含标题为 Initialize 事件, 您赋予 UserForm 代码中。 可以使用时要执行特定的操作集如果用户关闭 UserForm QueryClose 事件。
然后生成一个消息框, 指出标题为 UserForm 是 UserForm1 Terminate 事件。 从内存中删除 UserForm 并返回到其原始状态标题为 UserForm 后 Terminate 事件发生。
如何防止 UserForm 关闭通过关闭按钮
当您运行 UserForm, 关闭 按钮添加到 UserForm 窗口的右上角。 如果要防止 UserForm 关闭通过 关闭 按钮, 您必须捕获 QueryClose 事件。
QueryClose 事件 UserForm 是从内存中卸载之前发生。 使用 QueryClose 事件 CloseMode CloseMode 参数来确定如何 UserForm 关闭。 vbFormControlMenu 值为 CloseMode CloseMode 参数表示时, 单击 关闭 按钮。要保持活动, UserForm 将 Cancel 取消 对 QueryClose 事件参数为 True 。 要使用 QueryClose 事件来防止 UserForm 关闭通过 关闭 按钮, 请按照下列步骤:
1. Excel 中创建新工作簿。
2. 在 工具 菜单, 指向 宏 , 然后单击 VisualBasic 编辑器 。 3. 在 插入 菜单上, 单击要在工作簿中插入 UserForm UserForm 。 4. 将 CommandButton 控件添加到 UserForm。 5. 双击以显示代码窗口对于 UserForm UserForm 。
在代码窗口, 键入如下代码:
Private Sub CommandButton1_Click() Unload Me End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, 6. CloseMode As Integer)
IF CloseMode = vbFormControlMenu Then Cancel = True
Me.Caption = \ End If End Sub 7. 在 运行 菜单上, 单击 运行子过程 / 用户窗体 。
当您单击 关闭 按钮 UserForm 未关闭。 您必须单击 CommandButton 控件关闭 UserForm。
注意 : 代码包含在本文中不包含影响所有属性和对控件事件的示例。 如果您不得不, 请使用属性窗口要查看可供控件属性的列表。 要在 视图 菜单上, 查看列表的属性, 请单击 属性窗口 。
如何使用设计模式来编辑控件