基 础 函 数 参 考


FileOpenDialog

启动打开文件对话框.

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

参 数

标题 对话框窗口的标题.
初始目录 对话框窗口文件树的初始目录.
文件类型 文件类型筛选. 例如: "全部 (*.*)" 或 "文本文件 (*.txt)";
或多重筛选, 例如: "全部 (*.*)|文本文件 (*.txt)" (见备注).
选项 [可选参数] 对话框选项, 若使用多个选项, 将所需值相加:
  1 = 如果用户键入文件名, 则目标文件必须存在
  2 = 如果用户键入路径, 则路径必须存在且以反斜杠结尾
  4 = 允许选择多个文件
  8 = 如果文件不存在, 则提示用户创建新文件
默认文件名 [可选参数] 提示可打开的文件名. 默认为空 ("").
句柄 [可选参数] 对话框的父窗口句柄.

返 回 值

成功: 返回选中文件的完整路径. 多选则返回: "目录|文件1|文件2|..."
失败: 设置 @error
@error: 1 - 文件选择失败.
2 - 无效的文件类型筛选

备 注

如示例所示的筛选, 使用分号分隔文件.
多筛选请使用管道符 "|" 分隔.

如果指定"默认文件名"参数, 则"选项"参数也必须指定. 如果不需要指定选项, 则设置"选项"参数为 0.

Windows 的特殊文件夹(如 "我的文档")也可以作为初始目录使用,详情请查看 附录..

@WorkingDir 可以成功返回.

相 关 函 数

FileSaveDialog, FileSelectFolder, StringSplit

函 数 示 例


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

Local $var = FileOpenDialog($message, @WindowsDir & "\", "图像文件 (*.jpg;*.bmp)", 1 + 4)

If @error Then
    MsgBox(4096, "", "没有选择文件!")
Else
    $var = StringReplace($var, "|", @CRLF)
    MsgBox(4096, "", "你选择了: " & $var)
EndIf


; 多组筛选
$message = "按住 Ctrl 或 Shift 键选择多个文件"

$var = FileOpenDialog($message, @WindowsDir & "", "图像 (*.jpg;*.bmp)|视频 (*.avi;*.mpg)", 1 + 4)

If @error Then
    MsgBox(4096, "", "没有选择文件!")
Else
    $var = StringReplace($var, "|", @CRLF)
    MsgBox(4096, "", "你选择了: " & $var)
EndIf


provider with jb51.net (unicode)