Application.GetOpenFilename メソッド (Excel)
ユーザーからファイル名を取得するために、[ファイルを開く] ダイアログ ボックスを表示します。ダイアログ ボックスで指定したファイルは、実際には開かれません。
構文
expression.GetOpenFilename (FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
expressionApplication オブジェクトを 表す変数。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
FileFilter | オプション | Variant | ファイルの候補を指定する文字列 (ファイル フィルター文字列) を指定します。 |
FilterIndex | オプション | Variant | FileFilter で指定したファイル フィルター文字列の中で、1 から何番目の値を既定値とするかを指定します。 この引数を省略するか、ファイル フィルター文字列の数より大きい数値を指定すると、最初のファイル フィルター文字列が既定値となります。 |
Title | 省略可能 | Variant | ダイアログ ボックスのタイトルを指定します。 この引数を省略すると "ファイルを開く" になります。 |
ButtonText | オプション | Variant | Macintosh でのみ指定できます。 |
MultiSelect | オプション | Variant | True を指定すると、複数のファイルを選択できます。 False を指定すると、1 つのファイルしか選択できません。 既定値は False です。 |
戻り値
バリアント型
注釈
FileFilter引数で渡されるこの文字列は、ファイルフィルタ文字列のペアとそれに続くMS-DOS ワイルドカードファイルフィルタ指定で構成され、各部分と各ペアはコンマで区切られます。 個別のペアはそれぞれ[ファイルの種類]ドロップダウンリストボックスに表示されます。 たとえば、次の文字列は、テキストと addin という 2 つのファイル フィルターを指定します。
"Text Files (*.txt), *.txt,Add-In Files (*.xla), *.xla"
1 つのファイル フィルター文字列に複数の MS-DOS ワイルドカードの表現を使用するには、"Visual Basic Files (*.bas; *.txt), *.bas;*.txt"
のように各ワイルドカードをセミコロン (;) で区切ります。
引数FileFilter を省略すると、"すべてのファイル"All Files (*.*), *.*"
を指定した初期設定になります。
このメソッドは、ユーザーによって選択、または入力されたファイルの名前とパス名を返します。 引数 MultiSelect が True の場合は、選択されたファイルの名前の配列が返されます。 もしMultiSelectがTrueの場合、戻り値は選択されたファイル名の配列です(1つのファイル名しか選択されていない場合でも)。 入力が取り消された場合には False が返されます。
このメソッドを実行することによって、カレント ドライブやカレント フォルダーが変更される可能性があります。
例
次の使用例は、[ファイルを開く] ダイアログ ボックスを、ファイルの種類をテキスト ファイルに限定して表示します。 ファイル名を選択すると、そのファイル名がメッセージ ボックスに表示されます。
fileToOpen = Application _
.GetOpenFilename("Text Files (*.txt), *.txt")
If fileToOpen <> False Then
MsgBox "Open " & fileToOpen
End If
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。