【ダイアログボックスよりファイルを開く】
オブジェクト.GetOpenFilename ( Filefilter, Filterindex, Title, Buttontext, Multiselect )
オプション | データ型 | 説明(内容) | 記述例 |
---|---|---|---|
FileFilter | Variant | ファイルの種類を指定します。(ファイルフィルター) | FileFilter:="Microsoft Excelブック,*.xls?" |
FilterIndex | Variant | 引数FileFilterで指定したファイルフィルター文字列の中で、何番目のフィルターを既定値とするか指定します。 | |
Title | Variant | ダイアログボックスのタイトルを指定します。省略すると”ファイルを開く” | Title:="ファイルを開く" |
ButtonText | Variant | ※Macintosh でのみ指定できます。 | |
MultiSelect | Variant | 引数にTrueを指定すると、複数のファイルを選択できます。Falseを指定すると、1つのファイルしか選択できません。既定値は、Falseです。 | MultiSelect:=True (複数選択) MultiSelect:=False (1つのみ) |
使用例①:FileName = Application.GetOpenFilename(FileFilter:=”Microsoft Excelブック,*.xls?”, Title:=”選択したファイルを開く”)
使用例②:Multi_FileName = Application.GetOpenFilename(FileFilter:=”Microsoft Excelブック,*.xls?”, MultiSelect:=True)
下記のサンプルプログラムは、ファイルを選択するダイアログボックスを表示してファイルを選択する事ができるプログラムです。選択して「OK」ボタンを押すと選択したファイルをのフルパスがセル「A2」に表示します。
Sub GetOpenFilename01() 'ファイルの選択 Dim FileName As String FileName = Application.GetOpenFilename() 'ダイアログボックスを表示してファイルを選択します。 If FileName = False Then '「キャンセル」を選択した場合は、プログラム終了 Exit Sub End If Range("A2") = FileName '選択したファイルをセルA1にフルパスを表示します。 End Sub
下記のサンプルプログラムは、選択するファイルを開くプログラムになります。プログラムを実行するとダイアログボックスが表示されて、ファイルを選択すると、選択したファイルが開く事ができるプログラムです。
Sub GetOpenFilename02() '選択したファイルを開く Dim FileName As Variant FileName = Application.GetOpenFilename(FileFilter:="Microsoft Excelブック,*.xls?", Title:="選択したファイルを開く") If FileName = False Then '「キャンセル」を選択した場合は、プログラム終了 Exit Sub End If Workbooks.Open FileName '選択したファイルを開く End Sub
下記のサンプルプログラムは、複数ファイルを選択し、選択したファイルのフルパスの一覧をセルに表示させるサンプルプログラムです。サンプルプルグラム②を参照に複数ファイルを開く事もできます。
Sub GetOpenFilename03() '複数ファイルを選択 Dim Multi_FileName, FileName As Variant Dim i As Long Multi_FileName = Application.GetOpenFilename(FileFilter:="Microsoft Excelブック,*.xls?", MultiSelect:=True) If VarType(Multi_FileName) = vbBoolean Then '「キャンセル」を選択した場合は、プログラム終了 Exit Sub End If For Each FileName In Multi_FileName '選択したファイルを全て繰り返す。 i = i + 1 '行を1行下げる(加算) Cells(i, "A") = FileName 'セルにフルパスを表示します。 'Workbooks.Open FileName '上記のCells(i, "A") = FileName消して、←を有効化すると選択したファイルが開きます。 Next FileName End Sub