Pick Directory()関数を使って、ユーザにディレクトリの選択を促すことができます。このコマンドは、ユーザがフォルダを選択できる、プラットフォーム固有のウィンドウを表示します。オプションのプロンプト文字列を、ブラウズウィンドウの上部(Windows)またはFinderウィンドウの「開く」の下(macOS)に表示できます。また、画面に表示する最初のディレクトリのパスを指定したり、ディレクトリ選択ウィンドウにファイルを表示するかどうかを指定したりできます。
Pick Directory ( "ディレクトリを選択してください。" );
ユーザがファイルを選択できるようにするには、Pick File()関数を使用します。
Pick File(
<"prompt message">, <"initial directory"> <{filter list}>,
<first filter>, <save flag>, <"default file">,
<multiple>)T
"prompt message"はウィンドウのタイトルとして使用されます。"initial directory"は、最初に表示するフォルダを指定します。ディレクトリを空の文字列として定義した場合は、デフォルトのディレクトリが使用されます。
Open()ウィンドウに使用する{filter list}を定義し、特定のタイプのファイルだけを表示することもできます。このリストには、次の構文を使用します。
{"Label1|suffix1;suffix2;suffix3", "Label2|suffix4;suffix5"}
各引用符付き文字列が、Open()ウィンドウのFile nameリストのエントリになります。Labelは、各メニューオプションに表示されるテキストを定義します。次の接尾辞のリストは、対応するラベルが選択されている場合に表示されるファイルの種類を定義します。"*"を使用すると、すべての種類のファイルがウィンドウに表示されます。
Pick File(
"JMPファイルを選択してください", // 操作を促すメッセージ
"$SAMPLE_DATA", // 最初に表示するディレクトリ
{"JMPファイル|jmp;jsl;jrn", "すべてのファイル|*"}, // ファイルフィルタリスト
1, // 最初に選択された項目
0, // ファイルの保存操作をユーザに促さない
"Analgesics.jmp" // デフォルトで選択されるファイル
);
ヒント: すべての引数はオプションですが、位置は固定です。つまり、省略が可能なのは、スクリプトの末尾のオプションのみとなります。それ以外のオプションを省略したい場合は、空の文字列を指定します。
下のスクリプトは、デフォルトのディレクトリもデフォルトのファイルも指定していません。
Pick File(
"JMPファイルを選択してください",
"", // デフォルトのディレクトリはない
{"JMP ファイル|jmp;jsl;jrn", "すべてのファイル|*"},
1,
0,
"" // デフォルトのファイルはない
);
<first filter>引数には、デフォルトの選択肢を指定します。nはリスト項目のインデックスです。上のスクリプトでは、<first filter>がリストの最初の項目、つまり"JMP Files|jmp;jsl;jrn"になっています。
<Save Flag>が偽の場合は、Multiple引数を追加して、ユーザが1つのウィンドウで複数のファイルを選択できるように設定できます。
Pick File(
"JMPファイルを選択してください",
"",
{"JMP ファイル|jmp;jsl;jrn", "すべてのファイル|*"},
1,
0,
"",
multiple // save flagが0、複数ファイルの選択が可能
);
注: コンピュータの物理メモリ内のバッファサイズは、ユーザが開くことのできるファイルの数に影響します。バッファが小さいほど、開くことのできるファイルは少なくなります。