练习小课堂

在表6-2中,你知道Type的参数值为什么是0、1、2、4、8……这样有间隔而不是连续的自然数吗?

img019参考答案

因为中间空开的数值(如3)可以是多种参数值之和(如1+2),为了不混淆,所以参数值是有间隔而不是连续的自然数。

6.3.3 MsgBox 函数

使用MsgBox函数,可以创建一个对话框,告诉用户某些信息,并等待用户单击其中某个按钮后继续运行。

img564

其效果如图6-21所示。

img565

图6-21 MsgBox函数创建的对话框

img062 设置显示的按钮

MsgBox函数一共有6种按钮设定,如表6-3和图6-22所示。

表6-3          Msgbox的6种按钮设定

常数说明
vbOkonly0只显示【确定】按钮
vbOkCancel1显示【确定】和【取消】两个按钮
vbAbortRetryIgnore2显示【终止】、【重试】和【忽略】3个按钮
vbYesNoCancel3显示【是】、【否】和【取消】3个按钮
vbYesNo4显示【是】和【否】两个按钮
vbRetryCancel5显示【重试】和【取消】两个按钮

img566

img567

图6-22 Msgbox函数6种按钮设定

img062 设置显示的图标样式

MsgBox函数一共有4种图标样式,如表6-4和图6-23所示。

表6-4    Msgbox的4种图标样式

常数说明
vbCritical16显示“关键信息”图标
vbQuestion32显示“警告询问”图标
vbExclamation48显示“警告消息”图标
vbInformation64显示“通知消息”图标

img568

img569

图6-23 不同的图标样式

可以同时设置显示的按钮和图标,在两个常数或值之间用+号连接:

img570

其效果如图6-24所示。

img571

图6-24 设置按钮及显示图标

img062 设置缺省按钮

默认情况下按回车键即可执行的按钮称为缺省按钮,如图6-25所示。

img572

图6-25 缺省按钮

如果要修改第二个按钮为缺省按钮,可以设置Buttons参数的参数值。

img573

其效果如图6-26所示。

img574

图6-26 设置第2个按钮为缺省按钮

如果想设置第三个、第四个按钮为缺省按钮,相应的参数如表6-5所示。

表6-5     设置缺省按钮的参数

常数说明
vbDefaultButton10第一个按钮为缺省按钮
vbDefaultButton2256第二个按钮为缺省按钮
vbDefaultButton3512第三个按钮为缺省按钮
vbDefaultButton4768第四个按钮为缺省按钮

img062 指定对话框类型

Buttons参数还有第四组设定值,用来决定对框的类型,如表6-6所示。

表6-6                 对话框的类型

常数说明
vbApplicationModal0应用程序强制返回;暂停执行应用程序,直到用户对消息框作出响应才继续工作
vbSystemModal4096系统强制返回;暂停执行所有程序,直到用户对消息框作出响应才工作

img062 MsgBox函数的返回值" class="reference-link">img062 MsgBox函数的返回值

设置Buttons参数可以让对话框显示不同的按钮,单击不同的按钮,将返回不同的值,如表6-7所示,程序可以根据返回值选择不同的操作,如:

img575

表6-7  MsgBox函数的返回值

常数描述
vbOK1单击【确定】按钮
vbCancel2单击【取消】按钮
vbAbort3单击【终止】按钮
vbRetry4单击【重试】按钮
vbIgnore5单击【忽略】按钮
vbYes6单击【是】按钮
vbNo7单击【否】按钮

6.3.4 Application 对象的 FindFile 方法

使用Application对象的FindFile方法可以显示【打开】对话框,用户可以在对话框中选择并打开文件,如图6-27所示。

img576

img577

图6-27 用FindFile方法打开文件

6.3.5 Application 对象的 GetOpenFilename 方法

可以调用Application对象的GetOpenFilename方法显示【打开】对话框,在对话框里选择文件,获得文件名称。

img578

虽然同是显示【打开】对话框,但GetOpenFilename方法并不会打开选中的文件,而是返回所选文件的文件名(含路径)字符串,如图6-28所示。

img579

img580

图6-28 不使用参数时

可以使用FileFilter参数限制可选择的文件类型,如图6-29所示。

img581

img582

图6-29 使用参数限制文件类型

如果希望能在两种或多种类型的文件中选择,可以修改参数值,如图6-30所示。

img583

img584

图6-30 使用参数限制文件类型

也可以增加文件类型下拉列表中的项目,如图6-31所示。

img585

img586

图6-31 增加文件类型下拉列表中的项目

除了 filefilter, GetOpemFilename方法还有其他参数,如图6-32所示。

img587

img588

图6-32 当设置更多参数时

6.3.6 Application 对象的 GetSaveAsFilename 方法

可以调用Application对象的GetSaveAsFilename方法打开【另存为】对话框,在对话框里选择文件,获得文件名,如图6-33所示。

img589

img590

图6-33 用GetSaveAsFilename方法获取文件名

6.3.7 Application对象的FileDialog属性

使用Application对象的FileDialog属性可以获得指定目录的路径及名称,如图6-34所示。

img591

img592

图6-34 获取目录名称

除了msoFileDialogFolderPicker,filedialogtype参数还可以选用其他的值,如表6-8所示。

表6-8   msoFileDialogType常量列表

常量说明
msoFileDialogFilePicker允许选择一个文件
msoFileDialogFolderPicker允许选择一个文件夹
msoFileDialogOpen允许打开一个文件
msoFileDialogSaveAs允许保存一个文件