Excel VBA控件UserForm常规使用基础

2016-10-20 23:53 阅读 2,946 次 评论关闭

如何显示 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, " Me " 使用以下代码:

Unload Me

 

如何使用 UserForm 事件?

支持许多预定义事件, 可以附加到 VBA 过程。 在事件发生时, 该附加到事件过程运行。 单个操作由用户执行可初始化多事件。 之间最经常对 UserForm 使用事件是 Initialize 事件、 Click 事件, 和 Terminate 事件。

注意 包含事件过程 Visual Basic 模块可能称为 " 后面 " UserForm 模块。 模块包含事件过程是不可见的 VisualBasic 编辑器 Project MicrosoftInternetExplorer 窗口 Modules 集合中。 您必须双击正文部分 UserForm 以查看 UserForm 代码模块。

 

如何捕获 UserForm 事件?

要捕获 UserForm 事件, 请按照下列步骤操作:

1. Excel 中创建新工作簿。
2. 在 工具 菜单, 指向 宏 , 然后单击 VisualBasic 编辑器 。
3. 在 插入 菜单上, 单击要在工作簿中插入 UserForm UserForm 。
4. 双击以显示代码窗口对于 UserForm UserForm 。
5. 模块, 中键入如下代码:

Private Sub UserForm_Click()

Me.Height = Int(Rnd * 500)

Me.Width = Int(Rnd * 750)

End Sub

Private Sub UserForm_Initialize()

Me.Caption = "Events Events Events!"

Me.BackColor = RGB(10, 25, 100)

End Sub

Private Sub UserForm_Resize()

msg = "Width: " & Me.Width & Chr(10) & "Height: " & Me.Height MsgBox prompt:=msg, Title:="Resize Event"

End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

msg = "Now Unloading " & Me.Caption MsgBox prompt:=msg, Title:="QueryClose Event"

End Sub

Private Sub UserForm_Terminate()

msg = "Now Unloading " & Me.Caption MsgBox prompt:=msg, Title:="Terminate Event"

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 。
6. 在代码窗口, 键入如下代码:

Private Sub CommandButton1_Click()

Unload Me

End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

IF CloseMode = vbFormControlMenu Then Cancel = True Me.Caption = "Click the CommandButton to close Me!"

End If

End Sub

7. 在 运行 菜单上, 单击 运行子过程 / 用户窗体 。
当您单击 关闭 按钮 UserForm 未关闭。 您必须单击 CommandButton 控件关闭 UserForm。

注意 : 代码包含在本文中不包含影响所有属性和对控件事件的示例。 如果您不得不, 请使用属性窗口要查看可供控件属性的列表。 要在 视图 菜单上, 查看列表的属性, 请单击 属性窗口 。

 

如何使用设计模式来编辑控件?

当您使用 " VisualBasic 编辑器来设计一个对话框, 使用设计模式。 在设计模式, 您可编辑控件和可更改属性在属性窗口 UserForm 上的控制。 若要显示属性窗口, 在 视图 菜单上, 单击 属性窗口 。

当您处在设计模式 注意 控件不响应与事件。 当您运行一个对话框, 显示方式, 用户看到它, 程序处于运行模式。 当 UserForm 是从内存中卸载将不会保留更改, 对运行模式中控件的属性。

注意 控件请回复到事件在运行模式。

 

如何引用 UserForm 上控件?

如何您引用控件编程取决 VisualBasic 模块表运行代码的类型。 如果代码从常规模块, 运行以下语法是:

UserFormName.Controlname.Property = 值

例如, 如果要设置名为 TextBox , 名为到值是 Bob , UserForm1 UserForm 上 TextBox 控件的 Text 属性使用以下代码:

UserForm1.TextBox1.Text = "Bob"

如果代码是通过事件的控件或者通过 UserForm, 启动过程中是您不需要引用名为 UserForm。 而, 使用以下代码:

TextBox1.Text = "Bob"

当向对象, 附加代码代码附加到之一为对象事件。 众多, 本文示例中, 将代码附加到 Click 事件是 CommandButton 对象。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:Excel VBA控件UserForm常规使用基础 | 猎微网

评论已关闭!