- 20
- 0
- 约3.82万字
- 约 45页
- 2017-02-14 发布于北京
- 举报
VBA中的对话框和自定义窗体
对话框和自定义窗体
在第四章,你学习了如何使用Excel内置的InputBox函数在VBA过程执行期间从用户处收集单一数据。但是,万一你的程序在运行时需要多个数据怎么办呢?用户也许希望一次就提供所有数据,或者从项目清单中作出所有合适的选择。如果你定程序必须收集数据的话,那么你可以:
使用内置对话框集合
创建一个自定义窗体
本章将教你如何从VBA过程里显示内置的对话框,以及从零开始设计你自己的自定义窗体。
Excel对话框
在开始创建自己的窗体之前,你应该花上一些时间学习如何利用Excel内置的对话框,这些内置对话框本来就是为我们准备的。我讲的不是手动选择适合的选项,而是从你自己的VBA过程里调用这些对话框。
Excel有一个特殊的内置对话框集合,它们用开头为xlDialog的常量表示,例如xlDialogClear,xlDialogFont,xlDialogDefineName和xlDialogOptionsView。这些内置对话框是Excel对象,属于内置Dialos集合,每个dialog对象代表一个内置对话框。
表10-1 常用的内置对话框
对话框名称 常量 新建 xlDialogNew 打开 xlDialogOpen 另存为 xlDialogSaveAs 页面设置 xlDialogPageSetup 打印 xlDialogPrint 字体 xlDialogFont
按照下述格式使用Show方法来显示对话框:
Application.Dialogs(常量).Show
例如,下面的语句显示字体对话框:
Application.Dialogs(xlDialogFont).Show
如果你在对象浏览器里面选择Excel库后,再输入xlDialog搜索的话,那些代表Excel内置对话框的常量清单就会显示在对象浏览器里面了(参见图10-1)
打开一个新工作簿并且保存为Chap10.xls
切换到VB编辑器窗口
打开立即窗口
输入下述语句并查看结果:
Application.Dialogs(xlDialogClear).Show
Application.Dialogs(xlDialogFont).Show
Application.Dialogs(xlDialogFontProperties).Show
Application.Dialogs(xlDialogDefineName).Show
Application.Dialogs(xlDialogOptionsView).Show
最后一句指令显示“选项”对话框的“视图”。显示内置对话框后,你可以选择合适的选项,然后Excel就会将当前被选择的单元格,区域或者整个工作表设置相应的格式。
尽管你不能更改内置对话框的外观和行为,但是当你从你的VBA过程显示内置对话框的时候,你可以决定它的初始设置。如果你不更改初始设置,那么VBA将显示对话框和其缺省设置。
假设你要显示清除对话框,并且所有按钮都被选择上。通常Excel显示对话框的时候,内容选项按钮是被选择上的。在立即窗口里输入下列语句:
Application.DialogS(xlDialogClear).Show 1
你可以在Show方法后面加上一系列的参数,在清除对话框里,“全部”选项按钮出现在四个选项按钮组的最开头。Excel通常将可用的选项进行编号,因此,“全部”=1,“格式”=2,“内容”=3,以及“批注”=4。在线帮助可以搜索到内置对话框的参数列表(参见图10-3)
图10-1 前缀为“xlDialog”的常量识别Excel内置对话框
在立即窗口里输入下面的语句,可以显示字体对话框,并且当前选择为“Arial”字体和14字号:
Application.Dialogs(xlDialogFont).Show Arial, 14
如果只要明确字号的话,那么可以在第一个参数的位置放置一个逗号就行:
Application.Dialogs(xlDialogFont).Show , 8
下面的指令显示“定义名称”对话框,并且在工作簿中的“名称”文本框中输入“John”,“引用位置”里引用到单元格A1:
Application.Dialogs(xlDialogDefineName).Show John, =$A$1
如果你点击确定Show方法就返回True,点击取消则为False。
图10-2 以常量xlDialogOptionsView代表的“选项”对话框“视图”的可用设置
图10-3 Excel内置对话框参数列表
1.文件打开和另存为对话框
OfficeXP中一个新而功能强大的对象是FileDialog。该对象允许你从你的VBA过程里显示文件打开和文件另存为
您可能关注的文档
- SDE气体灭火系统规范.doc
- 2012学年下学期七年级科学期末试卷.doc
- sap在银行业的应用案例.doc
- 2012学年第一学期物理教研组工作总结.doc
- Seagate希捷硬盘固件备份写入.docx
- RTX使用方法大全.doc
- 2012宝山初三英语二模试卷和答案(官方版.doc
- Seagate硬盘磁头好坏判断方法.doc
- 2012届名校模拟试题精选专题06不等式.doc
- 2012届江西师大附中高三下学期开学考试试卷.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测生物试卷+答案.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测语文试卷+答案.doc
- 四川省绵阳南山中学实验学校2025-2026学年高三上学期1月月考数学含答案.doc
- 2026届辽宁省大连市高三上学期双基考试物理试卷+答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测化学含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测生物含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测英语含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测政治含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试化学含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试生物含答案.doc
最近下载
- 工业激光安全培训课件.ppt VIP
- Windchill模块功能白皮书.doc VIP
- 工程图学基础(第三版)刘宇红全套PPT课件.ppt
- 慢性肾脏病早期筛查、诊断及防治指南(2022年版).pptx VIP
- 2025年四川省达州市法官逐级遴选考试题及答案.docx VIP
- 一种4,6-二氨基间苯二酚二盐酸盐的生产系统.pdf VIP
- 贵州省六盘水市高二上学期1月期末英语试题(含答案).docx VIP
- 奥迪A6轿车ABS系统故障诊断与维修.doc VIP
- 备战2025广东省深圳市中考数学真题汇编《圆的计算与证明》含答案解析.pdf VIP
- GB 50183-2015 石油天然气工程设计防火规范条文解释.ppt VIP
原创力文档

文档评论(0)