オープンファイルダイアログを開始します。
FileOpenDialog ( "title", "init dir", "filter" [, options [, "default name" [, hwnd]]] )
パラメータ
title | ダイアログGUIのタイトル |
init dir | GUIのファイルツリーの初期選択フォルダ |
filter | "All (*.*)"や"Text files (*.txt)"のような単独ファイル用フィルター、 または"All (*.*)|Text files (*.txt)"のような複数ファイル用フィルターグループ(注意を参照)。 |
options | [オプション] ダイアログオプション : 1つ以上のオプションを指定したい場合は足し合わせてください。 1 = (ファイル名が入力された場合) 存在しないファイルを許可しない 2 = (バックススラッシュで終わるパスが入力された場合) 存在しないパスを許可しない 4 = 複数選択可能 8 = (ファイルが存在しなかった場合) ファイル作成プロンプトを表示する |
default name | [オプション] デフォルトで入力されているファイル名。デフォルトは空白("")。 |
hwnd | [オプション] このダイアログの親として使用するウィンドウのハンドル。 |
返し値
成功 | 選択されたファイルのフルパスを返します。複数選択された場合は"Directory|file1|file2|..."のようになります。 |
失敗 | @errorを設定します。 |
@error: | 1 - ファイル選択に失敗 |
2 - 不正なファイルフィルター |
注意
例のようにファイルフィルターはセミコロンで区切ってください。
関連
FileSaveDialog, FileSelectFolder, StringSplit
例
$message = "Hold down Ctrl or Shift to choose multiple files."
$var = FileOpenDialog($message, @WindowsDir & "\", "Images (*.jpg;*.bmp)", 1 + 4 )
If @error Then
MsgBox(4096,"","No File(s) chosen")
Else
$var = StringReplace($var, "|", @CRLF)
MsgBox(4096,"","You chose " & $var)
EndIf
; 複数ファイル用フィルターグループ
$message = "Hold down Ctrl or Shift to choose multiple files."
$var = FileOpenDialog($message, @WindowsDir & "", "Images (*.jpg;*.bmp)|Videos (*.avi;*.mpg)", 1 + 4 )
If @error Then
MsgBox(4096,"","No File(s) chosen")
Else
$var = StringReplace($var, "|", @CRLF)
MsgBox(4096,"","You chose " & $var)
EndIf