VBA的控件及用户窗体

上传人:pu****.1 文档编号:497874569 上传时间:2023-06-06 格式:DOC 页数:121 大小:626.50KB
返回 下载 相关 举报
VBA的控件及用户窗体_第1页
第1页 / 共121页
VBA的控件及用户窗体_第2页
第2页 / 共121页
VBA的控件及用户窗体_第3页
第3页 / 共121页
VBA的控件及用户窗体_第4页
第4页 / 共121页
VBA的控件及用户窗体_第5页
第5页 / 共121页
点击查看更多>>
资源描述

《VBA的控件及用户窗体》由会员分享,可在线阅读,更多相关《VBA的控件及用户窗体(121页珍藏版)》请在金锄头文库上搜索。

1、-目录VBA常用技巧1第8章控件与用户窗体4技巧1限制文本框的输入4技巧2文本框添加右键快捷菜单6技巧3文本框回车自动输入10技巧4自动选择文本框容11技巧5设置文本框数据格式12技巧6限制文本框的输入长度14技巧7将光标返回文本框中15技巧8文本框的自动换行17技巧9多个文本框数据相加19技巧10控件跟随活动单元格20技巧11高亮显示按钮21技巧12组合框和列表框添加列表项的方法2312-1使用RowSource属性添加列表项2312-2使用List属性添加列表项2412-3使用AddItem方法添加列表项25技巧13去除列表框数据源的重复值和空格27技巧14移动列表框条目29技巧15允许多

2、项选择的列表框32技巧16多列组合框和列表框的设置3516-1多列组合框和列表框添加列表项3516-2多列列表框写入工作表37技巧17输入时逐步提示信息39技巧18二级组合框46技巧19使用DTP控件输入日期48技巧20使用RefEdit控件选择区域51技巧21如何注册控件52技巧22遍历控件的方法5522-1使用名称中的变量遍历控件5522-2使用对象类型遍历控件5722-3使用程序标识符遍历控件5822-4使用名称中的变量遍历图形5922-5使用FormControlType属性遍历图形60技巧23使微调框最小变动量小于161技巧24不打印工作表中的控件6324-1设置控件格式6324-2

3、设置控件的printobjcet属性65技巧25在框架中使用滚动条65技巧26使用多页控件67技巧27标签文字垂直居中对齐69技巧28使用TabStrip控件71技巧29显示GIF动画图片73技巧30播放Flash文件76技巧31在工作表中添加窗体控件7831-1使用AddFormControl方法7931-2使用Add方法81技巧32在工作表中添加Active*控件8332-1使用Add方法8432-2使用AddOLEObject方法86技巧33使用spreadsheet控件87技巧34使用Listview控件9034-1使用Listview控件显示数据列表9034-2在Listview控件

4、中使用复选框9334-3调整Listview控件的行距9534-4在Listview控件中排序9834-5Listview控件的图标设置99技巧35调用非模式窗体102技巧36进度条的制作10436-1使用进度条控件10436-2使用标签控件106技巧37使用TreeView控件显示层次109技巧38用户窗体添加图标113技巧39用户窗体添加最大最小化按纽115技巧40禁用窗体标题栏的关闭按钮116技巧41屏蔽窗体标题栏的关闭按钮117技巧42无标题栏和边框的窗体119技巧43制作年月选择窗体120技巧44自定义窗体中的鼠标指针类型123技巧45调整窗体的显示位置124技巧46由鼠标确定窗体显

5、示位置126技巧47用户窗体的打印127技巧48使用自定义颜色设置窗体颜色129技巧49在窗体中显示图表13049-1使用E*port方法13049-2使用API函数132技巧50窗体运行时调整控件大小133技巧51在用户窗体上添加菜单136技巧52在用户窗体上添加工具栏140技巧53使用代码添加窗体及控件145技巧54用户窗体的全屏显示15154-1设置用户窗体为应用程序的大小15154-2根据屏幕分辨率进展设置152技巧55在用户窗体上添加状态栏153第8章 控件与用户窗体技巧1 限制文本框的输入用户在使用文本框输入数据时,往往希望能限制输入数据的类型,比方只能输入数字。但是没有置的属性能

6、限制在文本框中只能输入数字,只能在文本框的事件过程中使用代码来测试输入的是哪类字符,然后只允许输入数字字符和一个“-号、一个“.号,如下面的代码所示。*001 Private Sub Te*tBo*1_KeyPress(ByVal KeyANSI As MSForms.ReturnInteger)*002 Select Case KeyANSI*003 Case Asc(0) To Asc(9)*004 Case Asc(-)*005 If InStr(1, Me.Te*tBo*1.Te*t, -) 0 Or _*006 Me.Te*tBo*1.SelStart 0 Then*007 KeyA

7、NSI = 0*008 End If*009 Case Asc(.)*010 If InStr(1, Me.Te*tBo*1.Te*t, .) 0 Then*011 KeyANSI = 0*012 End If*013 Case Else*014 KeyANSI = 0*015 End Select*016 End Sub代码解析:文本框的KeyPress事件过程,测试键盘输入的是哪类字符,只允许输入数字字符和一个“-号、一个“.号。KeyPress事件的语法如下:Private Sub object_KeyPress( ByVal KeyANSI As MSForms.ReturnInteg

8、er)参数Object是必需的,一个有效的对象。参数KeyANSI是可选的,整数值,代表标准的数字ANSI 键代码。第2行代码使用Case Else语句测试文本框KeyPress事件的KeyANSI参数值。第3行代码,如果键盘输入的是0到9之间的数字字符,则允许输入。如果想在文本框中允许其它类型的字符输入,在此句代码中列出允许输入的字符即可。第4行到第8行代码,如果键盘输入的是“-号,先使用InStr函数测试文本框中是否已有“-号,如果InStr函数返回值大于0,说明文本框中已有“-号。接下来使用文本框的SelStart 属性来测试插入点,如果文本框的SelStart 属性值大于0,说明“-号

9、的插入点不是第一个。如果以上两个条件中有任何一个成立,将KeyAscii参数值设置为0,使文本框只能在第一位输入一个“-号。第9行到第12行代码,如果键盘输入的是“.号的话,使用InStr函数测试文本框中是否已有“.号,如果已有“.号,将KeyAscii参数值设置为0,使文本框只能输入一个“.号。第13、14行代码,如果键盘输入的是其他字符则将KeyAscii参数值设置为0,使文本框不能输入其他字符。经过以上设置文本框只允许输入数字字符和一个“-号、一个“.号,但是能输入中文字符。如果希望限制中文字符的输入,可以在文本框的Change事件中进展设置,如下面的代码所示。*001 Private

10、Sub Te*tBo*1_Change()*002 Dim i As Integer*003 Dim s As String*004 With Te*tBo*1*005 For i = 1 To Len(.Te*t)*006 s = Mid(.Te*t, i, 1)*007 Select Case s*008 Case ., -, 0 To 9*009 Case Else*010 .Te*t = Replace(.Te*t, s, )*011 End Select*012 Ne*t*013 End With*014 End Sub代码解析:文本框的Change事件,判断输入的字符是否为数字字符

11、和“-号、“.号,如果不是则使用Replace函数将文本框中输入的其他字符替换成空白。第5、6行代码在文本框输入的所有字符中循环。第8行代码列出允许输入的字符。如果想在文本框中允许其它字符输入,在此句代码中列出即可。第9、10行代码,如果不是允许输入的字符,使用Replace函数替换成空白。经过以上的设置,文本框中只能在第一位输入一个“-号、一个“.号和“0到“9的数字。技巧2 文本框添加右键快捷菜单VBA中的控件没有提供右键快捷菜单,用户可以使用E*cel 中的命令栏自已添加右键快捷菜单。步骤1:按组合键进入VBE窗口,单击菜单“插入“模块,在其代码窗口输入以下代码:*001 Private

12、 ActiveTB As MSForms.Te*tBo*002 Public Sub CreateShortCutMenu()*003 Dim ShortCutMenu As mandBar*004 Dim ShortCutMenuItem As mandBarButton*005 Dim sCaption As Variant*006 Dim iFaceId As Variant*007 Dim sAction As Variant*008 Dim i As Integer*009 sCaption = Array(剪切(&C), 复制(&T), 贴粘(&P), 删除(&D)*010 iFa

13、ceId = Array(21, 19, 22, 1786)*011 sAction = Array(Action_Cut, Action_Copy, Action_Paste, Action_Delete)*012 On Error Resume Ne*t*013 Application.mandBars(ShortCut).Delete*014 Set ShortCutMenu = Application.mandBars.Add(ShortCut, msoBarPopup)*015 With ShortCutMenu*016 For i = 0 To 3*017 Set ShortCutMenuItem = .Controls.Add(msoControlButton)*018 With ShortCutMenuItem*019 .Caption = sCaption(i)*020 .faceID = Val(iFaceId(i)*021 .OnAction = sAction(i)*022 End With*023 Ne*t*024 End With*025 End Sub代码解析:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号