游客:
注册
|
登录
|
帮助
网友俱乐部
»
Windows应用
»
EXCEL
» Excel编程概念之:【创建自定义对话框】
网友生活网
|
网友学堂
如何获得金币?
诚招斑竹
IP归属地查询 PR查询 收录查询 whois查询
免费超短2级域名,your.jpy.cc
传世私服
|
传奇世界私服
注册亚洲交友中心,找个人来同居吧!
免费存储空间,免费网络硬盘
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题: Excel编程概念之:【创建自定义对话框】
ljjk5
元帅
UID 46706
精华
1
积分 99426
帖子 49690
威望 554
金币 48489
热心 505
阅读权限 100
注册 2007-2-25
状态 离线
#1
使用道具
发表于 2008-1-1 21:13
资料
个人空间
主页
短消息
加为好友
Excel编程概念之:【创建自定义对话框】
可用下述过程创建自定义对话框:
1. 创建“用户窗体”
在 Visual Basic 编辑器中的“插入”菜单上,单击“用户窗体”。
若要创建自定义对话框,就必须创建“用户窗体”。若要创建“用户窗体”,请单击 Visual Basic 编辑器中“插入”菜单上的“用户窗体”。
可用“属性”窗口更改窗体的名称、行为和外观。例如,若要更改窗体的标题,请设置“标题”属性。
2. 向“用户窗体”中添加控件
在“工具箱”中查找要添加的控件,并将其拖动到窗体中。
若要向用户窗体中添加控件,请在“工具箱”中查找要添加的控件,将该控件拖到窗体上,然后拖动控件上的调整柄,直至控件的外边框成为所需的大小和形状。
注意 如果将控件(或若干“成组”的控件)从窗体拖回到“工具箱”,将创建该控件的一个模板,该模板可被重新使用。对于实现应用程序的标准界面,这是非常有用的功能。
向窗体添加了控件之后,可用 Visual Basic 编辑器中“格式”菜单上的命令调整控件的对齐方式和间距。
3. 设置控件属性
在设计模式下,用鼠标右键单击某个控件,然后单击快捷菜单上的“属性”以显示“属性”窗口。
可以在设计时(即宏运行之前)设置某些控件属性。在设计模式下,用鼠标右键单击某一控件,然后单击“属性”以显示属性窗口。属性的名称显示在该窗口的左边一列中,属性的值显示在右边一列中。在属性名称的右边输入新值可以设置属性的值。
4. 初始化控件
可在窗体显示之前在某个过程中初始化控件,或者在窗体的 Initialize 事件中添加代码。
可在运行时用宏中的 Visual Basic 代码初始化控件。例如,可以向列表框填充内容、设置文本值或设置选项按钮。
下例使用 AddItem 方法向列表框添加数据,然后设置文本框的值并显示窗体。
Private Sub GetUserName()
With UserForm1
.lstRegions.AddItem "North"
.lstRegions.AddItem "South"
.lstRegions.AddItem "East"
.lstRegions.AddItem "West"
.txtSalesPersonID.Text = "00000"
.Show
' ...
End With
End Sub
还可以在窗体的 Initialize 事件中用代码设置窗体上控件的初始值。在 Initialize 事件中设置控件的初始值的好处在于:初始化代码与窗体存储在一起。这样,如果把该窗体复制到其他项目中,那么运行 Show 方法显示对话框时,其中的控件将被初始化。
Private Sub UserForm_Initialize()
UserForm1.lstNames.AddItem "Test One"
UserForm1.lstNames.AddItem "Test Two"
UserForm1.txtUserName.Text = "Default Name"
End Sub
5. 编写事件过程
所有的控件都有一组预定义事件。例如,当用户单击命令按钮时,该命令按钮就引发一个 Click 事件。可以编写事件发生时所运行的事件过程。
向对话框或文档中添加了控件之后,应添加事件处理过程,以决定控件如何响应用户的操作。
用户窗体和控件有一组预定义事件。例如,当用户单击命令按钮时,该命令按钮就引发一个 Click 事件,而“用户窗体”的 Initialize 事件将在加载窗体时运行。
若要编写控件或窗体的事件过程,请双击窗体或控件以打开模块,再从“过程”下拉列表框内选择事件。
事件过程包括控件的名称。例如,命令按钮 Command1 的 Click 事件过程的名称为 Command1_Click。
如果在事件过程中添加了代码,然后又更改了控件的名称,那么代码将保留在以原来名称命名的事件过程中。
例如,假定为控件 Commmand1 的 Click 事件添加了代码,然后将该控件重命名为 Command2。当双击 Command2 时,在 Click 事件过程中将看不到任何代码。您需要将代码从 Command1_Click 移到 Command2_Click 中。
若要使开发过程更为简单,在编写代码之前,正确命名控件不失为一种好习惯。
6. 显示对话框
可用 Show 方法显示“用户窗体”。
若要在 Visual Basic 编辑器中测试对话框,请单击 Visual Basic 编辑器中“运行”菜单上的“运行子过程/用户窗体”。
若要用 Visual Basic 代码显示对话框,请使用 Show 方法。下例显示了名为“UserForm1”的对话框。
Private Sub GetUserName()
UserForm1.Show
End Sub
7. 代码运行时使用控件值
有些属性可在运行时进行设置。用户对对话框所做的更改在对话框关闭后将丢失。
某些控件属性可在 Visual Basic 代码运行时设置和返回。下例将文本框的 Text 属性设置为“Hello”。
TextBox1.Text = "Hello"
当窗体关闭时,用户在窗体中输入的数据将丢失。如果在窗体卸载后再返回该窗体上的控件值,那么所返回的将是控件的初始值,而不是用户所输入的值。
如果要保存窗体上所输入的数据,可在窗体仍处于运行状态时,将信息保存到模块级的变量中。下例显示窗体,并保存窗体数据。
' Code in module to declare public variables.
Public strRegion As String
Public intSalesPersonID As Integer
Public blnCancelled As Boolean
' Code in form.
Private Sub cmdCancel_Click()
Module1.blnCancelled = True
Unload Me
End Sub
Private Sub cmdOK_Click()
' Save data.
intSalesPersonID = txtSalesPersonID.Text
strRegion = lstRegions.List(lstRegions.ListIndex)
Module1.blnCancelled = False
Unload Me
End Sub
Private Sub UserForm_Initialize()
Module1.blnCancelled = True
End Sub
' Code in module to display form.
Sub LaunchSalesPersonForm()
frmSalesPeople.Show
If blnCancelled = True Then
MsgBox "Operation Cancelled!", vbExclamation
Else
MsgBox "The Salesperson's ID is: " &
intSalesPersonID & _
"The Region is: " & strRegion
End If
End Sub
网友
ljjk5
签名 - 网友社区
===
[广告]
免费域名(Free Subdomain)
免费空间(Free hosting)
PR查询(Google Pagerank)
投票
交易
悬赏
活动
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
个人空间管理
基本概况
流量统计
客户软件
发帖量记录
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
管理统计
当前时区 GMT+8, 现在时间是 2008-10-13 08:30
信产部ICP备案:
京ICP备05066424号
北京市公安局网监备案:1101050648号
Powered by
Discuz!
5.5.0
TOP
清除 Cookies
-
联系我们
-
网友俱乐部
-
Archiver
-
WAP