vba控件常规使用
UserForm基础
如何显示UserForm
以下是用于显示UserForm编程语法是:
UserFormName.Show
要显示名为UserForm1,UserForm使用以下代码:
UserForm1.Show
不显示它实际上还能加载UserForm装入内存。复杂UserForm可能需要几秒钟以显示。因为预先您能加载到内存,UserForm可决定何时导致此开销。要加载到内存UserForm1不显示它,使用以下代码:
LoadUserForm1
若要显示UserForm,必须使用以前已显示显示方法。
如何以暂时隐藏UserForm
如果要暂时隐藏UserForm,使用隐藏方法。可能想要隐藏UserForm如果应用程序涉及用户窗体之间移动。要隐藏UserForm,使用以下代码:
UserForm1.Hide
如何从内存删除UserForm
要从内存,删除UserForm使用Unload语句。要卸载,名为UserForm1,UserForm使用以下代码:
UnloadUserForm1
如果您卸载UserForm,是与UserForm或者,是与UserForm上控件的事件过程中(例如,您单击CommandButton控件),您可以使用"我"关键字代替的UserForm名称。将关键字用于卸载UserForm,"Me"使用以下代码:
UnloadMe
如何使用UserForm事件
支持许多预定义事件,可以附加到VBA过程。在事件发生时,该附加到事件过程运行。单个操作由用户执行可初始化多事件。之间最经常对UserForm使用事件是Initialize事件、Click事件,和Terminate事件。
注意包含事件过程VisualBasic模块可能称为"后面"UserForm模块。模块包含事件过程是不可见的VisualBasic编辑器ProjectMicrosoftInternetExplorer窗口Modules集合中。您必须双击正文部分UserForm以查看UserForm代码模块。
如何捕获UserForm事件
要捕获UserForm事件,请按照下列步骤操作:
1. | Excel中创建新工作簿。 |
2. | 在工具菜单,指向宏,然后单击VisualBasic编辑器。 |
3. | 在插入菜单上,单击要在工作簿中插入UserFormUserForm。 |
4. | 双击以显示代码窗口对于UserFormUserForm。 |
5. | 模块,中键入如下代码: PrivateSubUserForm_Click() Me.Height=Int(Rnd*500) Me.Width=Int(Rnd*750) EndSub PrivateSubUserForm_Initialize() Me.Caption="EventsEventsEvents!" Me.BackColor=RGB(10,25,100) EndSub PrivateSubUserForm_Resize() msg="Width:"&Me.Width&Chr(10)&"Height:"&Me.Height MsgBoxprompt:=msg,Title:="ResizeEvent" EndSub PrivateSubUserForm_QueryClose(CancelAsInteger,CloseModeAsInteger) msg="NowUnloading"&Me.Caption MsgBoxprompt:=msg,Title:="QueryCloseEvent" EndSub PrivateSubUserForm_Terminate() msg="NowUnloading"&Me.Caption MsgBoxprompt:=msg,Title:="TerminateEvent" EndSub |
6. | 在运行菜单上,单击运行子过程/用户窗体。 |
UserForm首先加载,时宏使用Initialize事件改为"事件事件事件!"和BackColor属性以深蓝的UserFormCaption属性。
当您单击UserForm,您初始化Click事件。调整UserFormClick事件。因为您创建Resize事件,过程单击UserForm后收到两个消息框。因为Click事件代码更改宽度属性和Height属性是UserFormResize事件发生两次。
关闭UserForm初始化QueryClose事件。QueryClose事件显示消息框包含标题为Initialize事件,您赋予UserForm代码中。可以使用时要执行特定的操作集如果用户关闭vba listbox控件详解UserFormQueryClose事件。
然后生成一个消息框,指出标题为UserForm是UserForm1Terminate事件。从内存中删除UserForm并返回到其原始状态标题为UserForm后Terminate事件发生。
如何防止UserForm关闭通过关闭按钮
当您运行UserForm,关闭按钮添加到UserForm窗口的右上角。如果要防止UserForm关闭通过关闭按钮,您必须捕获QueryClose事件。
QueryClose事件UserForm是从内存中卸载之前发生。使用QueryClose事件CloseModeCloseMode参数来确定如何UserForm关闭。vbFormControlMenu值为CloseModeCloseMode参数表示时,单击关闭按钮。要保持活动,UserForm将Cancel取消对QueryClose事件参数为True。要使用QueryClose事件来防止UserForm关闭通过关闭按钮,请按照下列步骤:
1. | Excel中创建新工作簿。 |
2. | 在工具菜单,指向宏,然后单击VisualBasic编辑器。 |
3. | 在插入菜单上,单击要在工作簿中插入UserFormUserForm。 |
4. | 将CommandButton控件添加到UserForm。 |
5. | 双击以显示代码窗口对于UserFormUserForm。 |
6. | 在代码窗口,键入如下代码: PrivateSubCommandButton1_Click() UnloadMe EndSub PrivateSubUserForm_QueryClose(CancelAsInteger,CloseModeAsInteger) IFCloseMode=vbFormControlMenuThen Cancel=True Me.Caption="ClicktheCommandButtontocloseMe!" EndIf EndSub |
7. | 在运行菜单上,单击运行子过程/用户窗体。 |
当您单击关闭按钮UserForm未关闭。您必须单击CommandButton控件关闭UserForm。
注意:代码包含在本文中不包含影响所有属性和对控件事件的示例。如果您不得不,请使用属性窗口要查看可供控件属性的列表。要在视图菜单上,查看列表的属性,请单击属性窗口。
如何使用设计模式来编辑控件
当您使用"VisualBasic编辑器来设计一个对话框,使用设计模式。在设计模式,您可编辑控件和可更改属性在属性窗口UserForm上的控制。若要显示属性窗口,在视图菜单上,单击属性窗口。
当您处在设计模式注意控件不响应与事件。当您运行一个对话框,显示方式,用户看到它,程序处于运行模式。当UserForm是从内存中卸载将不会保留更改,对运行模式中控件的属性。
注意控件请回复到事件在运行模式。
如何引用UserForm上控件
如何您引用控件编程取决VisualBasic模块表运行代码的类型。如果代码从常规模块,运行以下语法是:
=值
例如,如果要设置名为TextBox,名为到值是Bob,UserForm1UserForm上TextBox控件的Text属性使用以下代码:
如果代码是通过事件的控件或者通过UserForm,启动过程中是您不需要引用名为UserForm。而,使用以下代码:
TextBox1.Text="Bob"
当向对象,附加代码代码附加到之一为对象事件。众多,本文示例中,将代码附加到Click事件是CommandButton对象。
标签控件
标签控件主要用于描述UserForm上其他控件。运行UserForm时Label控件不能编辑由用户。
使用Caption属性到设置或返回一个Label控件中文本。用于格式化Label控件其他常用属性包括字体属性和ForeColor属性。
如何使用WITH语句设置Label控件格式
要使用WITH语句来更改属性的Label控件,请按照下列步骤:
1. | 启动Excel,并打开新空白工作簿。 |
2. | 在工具菜单,指向宏,然后单击VisualBasic编辑器。 |
3. | 在插入菜单上,单击要在工作簿中插入UserFormUserForm。 |
4. | 将Label控件添加到UserForm。 |
5. | 将CommandButton控件添加到UserForm。 |
6. | 双击以打开代码窗口对于UserFormCommandButton控件。 |
7. | 在代码窗口,为CommandButton1Click事件键入下列代码: PrivateSubCommandButton1_Click() WithLabel1 'Setthetextofthelabel. .Caption="ThisisLabelExample1" 'Automaticallysizethelabelcontrol. .AutoSize=True .WordWrap=False 'SetthefontusedbytheLabelcontrol. .Font.Name="TimesNewRoman" .Font.Size=14 .Font.Bold=True 'Setthefontcolortoblue. .ForeColor=RGB(0,0,255) EndWith EndSub |
8. | 在运行菜单上,单击运行子过程/用户窗体。 |
9. | 单击CommandButton。 |
文本粗TimesNewRoman用字体大小是14中Label控件上显示"Thisis标签示例1"。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论