DirSelect

フォルダを選択するための標準ダイアログを表示します。

SelectedFolder := DirSelect(StartingFolder, Options, Prompt)

パラメータ

StartingFolder

型:文字列

If blank or omitted, the dialog's initial selection will be the user's My Documents folder or possibly This PC (formerly My Computer or Computer). A CLSID folder such as "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" (i.e. This PC) may be specified start navigation at a specific special folder.

それ以外の場合、このパラメータの最も一般的な使用法は、アスタリスクの直後に、最初に選択されるドライブまたはフォルダの絶対パスが続くことです。例えば、"*C:\"とすると、最初はCドライブが選択されます。同様に、"*C:¥My Folder"は、その特定のフォルダを初期選択します。

アスタリスクは、ユーザーが開始フォルダから上へ(ルートに近い方へ)移動することを許可されていることを示します。アスタリスクがない場合、ユーザーはStartingFolder内のフォルダ(またはStartingFolder自体)を選択するよう強制されます。アスタリスクを省略した場合の利点として、StartingFolderが最初にツリー状に展開された状態で表示されるため、ユーザーが最初のプラス記号をクリックする手間が省ける場合があります。

アスタリスクがある場合、オプションで上方向のナビゲーションがデスクトップ以外のフォルダーに制限されることがあります。アスタリスクの前に、最上位のフォルダの絶対パスを置き、その後にスペースまたはタブを正確に1つ置くことで、これを行うことができます。例えば、"C:\My Folder *C:\My Folder\Projects"とすると、"C:My Folder" より上位には移動できません(ただし、初期選択では "C:\My FolderProjects" になります)。

Options

型:整数

省略されたときは、初期値は 1 です。それ以外の場合は、次のいずれかの番号を指定してください:

0: The options below are all disabled.

1: A button is provided that allows the user to create new folders.

上記数値に2を加え、フォルダー名を入力できる編集フィールドを設ける。例えば、このパラメータの値を3にすると、編集フィールドと「新しいフォルダを作る」ボタンの両方が表示されます。

BIF_NEWDIALOGSTYLEプロパティを省略する場合は、上記数値に4を加算してください。4を追加することで、WinPEやBartPEなどのプリインストール環境でも、DirSelectが正常に動作するようになります。ただし、これによって「新しいフォルダを作る」ボタンが表示されなくなります。

ユーザーが編集フィールドに無効なフォルダ名を入力した場合、SelectedFolderはユーザーが入力したものではなく、ナビゲーションツリーで選択されたフォルダに設定されます。

Prompt

型:文字列

If blank or omitted, it defaults to "Select Folder - " A_ScriptName (i.e. the name of the current script). Otherwise, specify the text displayed in the window to instruct the user what to do.

戻り値

型:文字列

この関数は、ユーザーが選択したフォルダのフルパスと名前を返します。ユーザーがダイアログをキャンセルした場合(フォルダの選択を希望しない場合)には、空文字列が返されます。ユーザーがルートディレクトリ(C:\)を選択した場合、戻り値には末尾のバックスラッシュが含まれます。好ましくない場合は、次のように取り除いてください:

Folder := RegExReplace(DirSelect(), "\\$")  ; もしあれば,末尾のバックスラッシュを削除します。

また、システムがダイアログの表示を拒否した場合は空文字列が返されますが、これは非常にまれなことです。

備考

フォルダ選択ダイアログは通常このように表示されます:

DirSelect

GUIウィンドウは、+OwnDialogsオプションにより、モーダルフォルダ選択ダイアログを表示することができます。モーダルダイアログは、ダイアログが解除されるまで、ユーザーがGUIウィンドウと対話するのを防ぎます。

FileSelect, MsgBox, InputBox, ToolTip, GUI, CLSID List, DirCopy, DirMove, SplitPath

また、OSには、フォント、色、アイコンの選択を促すダイアログボックスが標準装備されています。These dialogs can be displayed via DllCall in combination with comdlg32\ChooseFont, comdlg32\ChooseColor, or shell32\PickIconDlg. Search the forums for examples.

ユーザーがフォルダを選択し、編集フィールドと "make new folder" ボタンの両方を提供します。

SelectedFolder := DirSelect(, 3)
if SelectedFolder = ""
    MsgBox "You didn't select a folder."
else
    MsgBox "You selected folder '" SelectedFolder "'."

A CLSID example. Allows the user to select a folder in This PC (formerly My Computer or Computer).

SelectedFolder := DirSelect("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}")