FileSelectFile

ファイル選択ダイアログを表示

FileSelectFile, OutputVar [, Options, RootDir\Filename, Prompt, Filter]

Parameters

引数名説明
OutputVar 選択されたファイル名が格納される変数名
Options 以下のものの和。
省略時は「0」。
1
存在しないファイルを禁止する
2
存在しないパスを禁止する
4
複数選択を許可する
8
存在しないファイルを指定したとき、新規作成するかを問い合わせる
16
存在するファイルを指定したとき、上書きするかを問い合わせる
32
ショートカットファイル(*.lnk)を選択したとき、リンク先のファイルではなくショートカットファイルそのものが選択されるようになる
値の前に「S」をつけると、「保存」ダイアログにできる。
「8」を指定して「16」を指定しなかった場合、強制的に「保存」ダイアログになる。
「4」を指定する代わりに、値の前に「M」をつけることもできる。(例:「M」「M3」)
RootDir\Filename 最初に表示されるディレクトリ。
相対パスで指定したときは、%A_WorkingDir%からの相対パスとみなされる。
省略時の設定はOSに依存する。
::{20d04fe0-3aea-1069-a2d8-08002b30309d}のようなCLSIDも指定可能。
指定できるCLSIDはCLSID一覧参照
「::{450d8fba-ad25-11d0-98a8-0800361b1103}\My Pictures」のように、CLSIDに続いてサブフォルダのパスをを指定することも可能
最後にファイル名を含むパスを指定すると、ファイル名入力欄のデフォルト値を指定できる。
Prompt ダイアログのタイトルバーに表示されるメッセージを指定。省略時は「Select File」
Filter 表示するファイル名をワイルドカードで指定。
例:「WSH Script File(*.js;*.vbs)」
省略時は、「ファイルの種類」には「All Files (*.*)」と「Text Documents (*.txt)」が表示される。
指定時は、そのフィルタと「All Files (*.*)」が表示される。

Remarks

OutputVarには選択されたファイルのフルパスが格納される。
「キャンセル」ボタンを押したり、「閉じる」ボタンでダイアログを閉じたりすると、OutputVarは空になる。

複数のファイルが選択された場合、改行(`n)区切りで列挙される。
その場合、1行目はファイルのあるディレクトリになり、残りはディレクトリパスを含まないファイル名になる。
このとき、結果が64KBを超えるような場合は結果が空になってしまう。

なお、Optionsで「M」を使わずに「4」で複数選択にした場合、ひとつしか選択しなかったときはフルパスが1行に格納されるようになる。

Gui,+OwnDialogsを使用することで、GUIウィンドウの子ウィンドウとしてダイアログを表示することができる。
子ウィンドウとしてダイアログが表示されている間は、親となるGUIウィンドウは操作できなくなる。

Related

FileSelectFolder, MsgBox, InputBox, ToolTip

Example(s)

FileSelectFile, SelectedFile, 3, , Open a file, Text Documents (*.txt; *.doc)
if SelectedFile =
	MsgBox, The user didn't select anything.
else
	MsgBox, The user selected the following:`n%SelectedFile%


; MULTI-SELECT EXAMPLE:
FileSelectFile, files, M3  ; M3 = Multiselect existing files.
if files =
{
	MsgBox, The user pressed cancel.
	return
}
Loop, parse, files, `n
{
	if a_index = 1
		MsgBox, The selected files are all contained in %A_LoopField%.
	else
	{
		MsgBox, 4, , The next file is %A_LoopField%.  Continue?
		IfMsgBox, No, break
	}
}
return