函数说明

FileOpenDialog

显示一个文件打开对话框。

FileOpenDialog ( "标题", "起始目录", "文件类型" [, 选项 [, "默认文件名"]] )

 

参数

标题 文件打开对话框的标题。
起始目录 在文件选择对话框的文件树中显示的起始目录。
文件类型 筛选文件类型,例如:"所有文件(*.*)" 或 "文本文档(*.txt)"
选项 [可选参数] 对话框相关选项:若要同时应用多个选项,只需把各个数值加起来即可。
  1 = (如果用户键入文件名则)目标文件必须确实存在
  2 = (如果用户键入路径则)路径必须确实存在
  4 = 允许选择多个文件
  8 = (如果目标文件并不存在则)提示用户(弹出对话框)可创建新文件
 16 = 询问用户(弹出对话框)是否覆盖文件(相关说明请查看 FileSaveDialog 函数部分)
默认文件名 [可选参数] 提示用户可打开的默认文件名(在文件名列表框中预填此文件名)。

 

返回值

成功: 返回选中文件的完整路径。如果选中多个文件则以竖线分割,例如"目录|文件1|文件2|..."
失败: 把 @error 设为 1。

 

注意

如需筛选多种文件类型请参照下面的示例在 文件类型 参数中使用分号来分隔每个文件类型(并把它们放在小括号内)。
注意:目前我们不支持用户使用多组筛选。

如果有指定默认文件名参数,则选项参数也必须指定。如果不需要指定选项则使用数值 0 即可。

Windows 下有些特殊的文件夹(比如说“我的文档”)也可以用来作为起始目录使用,详情请查看附录。

 

相关

FileSaveDialog, FileSelectFolder, StringSplit

 

示例


$message = "按住 Ctrl 或 Shift 键可选择多个文件。"

$var = FileOpenDialog($message, "C:\Windows\", "图片文件(*.jpg;*.bmp)", 1 + 4 )

If @error Then
    MsgBox(4096,"","没有选中任何文件。")
Else
    $var = StringReplace($var, "|", @CRLF)
    MsgBox(4096,"","您选择的文件是: " & $var)
EndIf