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 の場合は、選択されたファイルの名前の配列が返されます。 もしMultiSelectTrueの場合、戻り値は選択されたファイル名の配列です(1つのファイル名しか選択されていない場合でも)。 入力が取り消された場合には False が返されます。

このメソッドを実行することによって、カレント ドライブやカレント フォルダーが変更される可能性があります。

次の使用例は、[ファイルを開く] ダイアログ ボックスを、ファイルの種類をテキスト ファイルに限定して表示します。 ファイル名を選択すると、そのファイル名がメッセージ ボックスに表示されます。

fileToOpen = Application _ 
 .GetOpenFilename("Text Files (*.txt), *.txt") 
If fileToOpen <> False Then 
 MsgBox "Open " & fileToOpen 
End If

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。