ExcelVBA常用技巧使用对话框
精品文档---下载后可任意编辑 目录 第6章使用对话框2 技巧1使用Msgbox函数2 技巧2自动关闭的消息框9 技巧3使用Box函数11 技巧4使用Box方法15 技巧5内置对话框18 技巧6调用操作系统“关于”对话框25 第6章 使用对话框 技巧1 使用Msgbox函数 1-1 显示简单的提示信息 在使用Excel的过程中,假如需要向用户显示简单的提示信息,可以使用MsgBox函数显示一个消息框,如下面的代码所示。 #001 Sub mymsgbox() #002 MsgBox “欢迎光临Excel Home!“ #003 End Sub 代码解析: Mymsgbox过程使用MsgBox函数显示一个消息框。MsgBox函数用于显示提示信息,语法如下: MsgBox(prompt[, buttons] [, title] [, helpfile, context]) 参数prompt是必需的,代表在消息框中作为信息显示的字符或字符串,最多只能接受约1024个字符,取决于所使用字符的宽度。 参数buttons是可选的,用于指定消息框中显示按钮的数目及类型、使用的图标样式、缺省按钮以及消息框的强制回应等。假如省略,则buttons参数的缺省值为0,消息框只显示“确定”按钮。 参数title是可选的,代表在消息框标题栏中作为标题的字符或字符串。假如省略,则在标题栏中显示“Microsoft Excel”。 参数helpfile和参数context是可选的,用来为消息框提供上下文相关帮助的帮助文件和帮助主题。假如提供了其中一个参数,则必须提供另一个参数,两者缺一不可。 运行Mymsgbox过程,显示如图 731所示的消息框。 图 Error! No text of specified style in document.1简单的信息提示 1-2 定制个性化的消息框 假如希望MsgBox函数显示的消息框具有特定的按钮、图标和标题栏,那么可以使用MsgBox函数的buttons参数和title参数,如下面的代码所示。 #001 Sub Specialmsbox() #002 MsgBox Prompt:=“欢迎光临 Excel Home!“, _ #003 Buttons:=vbOKCancel + vbInation, _ #004 Title:=“Excel Home“ #005 End Sub 代码解析: Specialmsbox过程使用MsgBox函数显示一个具有特定的按钮、图标和标题栏的消息框。 第3行代码设置消息框的Buttons参数,使消息框显示时具有“确定”、“取消”按钮和信息消息图标。MsgBox函数的buttons参数设置值如表格 731所示。 参数组 常数 值 描述 第一组设置消息框按钮数目和类型 vbOKOnly 0 只显示“确定”按钮(默认设置) VbOKCancel 1 显示“确定”和“取消”按钮 VbAbortRetryIgnore 2 显示“放弃”、“重试”、和“忽略”按钮 VbYesNoCancel 3 显示“是”、“否”和“取消”按钮 VbYesNo 4 显示“是”和“否”按钮 VbRetryCancel 5 显示“重试”和“取消”按钮 第二组设置图标的风格 VbCritical 16 显示危险消息图标 VbQuestion 32 显示警告询问图标 VbExclamation 48 显示警告消息图标 VbInation 64 显示信息消息图标 第三组设置默认按钮 vbDefaultButton1 0 第一个按钮为默认按钮 vbDefaultButton2 256 第二个按钮为默认按钮 vbDefaultButton3 512 第三个按钮为默认按钮 vbDefaultButton4 768 第四个按钮为默认按钮 第四组设置消息框特征 vbApplicationModal 0 应用程序模式:用户必须对消息框作出响应才能继续使用当前的应用程序 vbSystemModal 4096 系统模式:应用程序都被挂起直至用户对消息框作出响应 第五组附加选项 vbMsgBoxHelpButton 16384 在消息框上添加“帮助”按钮 VbMsgBoxSetForeground 65536 将消息框设置为前景窗口 vbMsgBoxRight 524288 显示右对齐的消息框 vbMsgBoxRtlReading 1048576 指定在希伯来和阿拉伯语系统中显示的文本应当从右到左阅读 表格 Error! No text of specified style in document.1MsgBox函数的buttons参数值 在设定buttons参数值时,这些值可以相加使用,但每一组中只能选择一个值。在程序代码中也可以使用buttons参数的常数名称,而不必使用实际数值。 第4行代码将消息框的Title参数设置为“Excel Home”,使消息框的标题栏显示“Excel Home”。 运行Specialmsbox过程后,显示一个如图 732所示的消息框,该消息框具有“Excel Home”标题、信息消息图标和“确定”、“取消”按钮并以“确定”按钮作为默认按钮。 图 Error! No text of specified style in document.2具有特定按钮、图标和标题栏的消息框 1-3 获得消息框的返回值 假如希望能根据用户对于消息框的不同选择,进行相应的操作,可以对消息框的返回值进行推断,如下面的代码所示。 #001 Private Sub Workbook_BeforeClose(Cancel As Boolean) #002 Dim iMsg As Integer #003 iMsg = MsgBox(“文件即将关闭,是否保存?“, 3 + 32) #004 Select Case iMsg #005 Case 6 #007 Case 7 #008 Me.Saved = True #009 Case 2 #010 Cancel = True #011 End Select #012 End Sub 代码解析: 工作簿的BeforeClose过程,在关闭工作簿前使用MsgBox函数显示一个消息框,并根据用户的回应用进行相应的操作。 第3行代码,使用MsgBox函数显示一个具有“是”、“否”和“否”按钮的消息框,并把用户的回应,即消息框的返回值赋给变量iMsg。MsgBox是一个函数,这意味着它将返回一个值,假如希望获得返回值,可使用和第3行相似的代码,此时