関数・メソッド

ダイアログボックスを設定し、指定したファイルを開く【FileDialogプロパティ】【ExcelVBA】

FileDialogプロパティ

ダイアログボックスを表示してユーザーがファイルを開くには、
GetOpenFilenameメソッドを使いますが、FileDialogプロパティでも同じことができます。

FileDialogプロパティはApplication内のFileDialogオブジェクトを返すため、
多くのプロパティやメソッドと組み合わせて使用できるので、自由度が高いです。

構文
Application.FileDialog(fileDialogType)

fileDialogTypeの定数
msoFileDialogFilePicker ファイルを選択することができます。
msoFileDialogFolderPicker フォルダーを選択することができます。
msoFileDialogOpen ファイルを開くことができます。
msoFileDialogSaveAs ファイルを保存できます。

 

FileDialogで使用できる主なプロパティ

AllowMultiSelect 複数のファイル、フォルダを選択できるようにします。
ButtonName ダイアログボックスのアクションボタンに表示する文字列です。
DialogType MsoFileDialogTypeを変更します。
Filter ファイルフィルターを指定し、選択できるファイル形式をフィルタリングします。
InitialFileName 開かれる最初のパスです。
SelectedItems 選択したすべてのアイテムを含むタイプFileDialogSelectedItemsのコレクションです。
Title ダイアログボックスのタイトルです。

 

サンプルコード

Public Sub Sample()
    
    With Application.FileDialog(msoFileDialogOpen)
        .Filters.Add "Excelファイル", "*.xlsx"           'フィルタに"xlsx"を追加する
        .Filters.Add "Excelマクロ有効", "*.xlsm"         'フィルタに"xlsm"を追加する
        .FilterIndex = 1                '1番目のフィルタを初期値として表示する
        .AllowMultiSelect = True        '複数選択可能にする
        .Title = "ファイルを選択"        'ダイアログボックスのタイトル
        .InitialFileName = "ファイル名"  '入力フォームに初期表示する文字列
        
        If .Show = True Then	'ダイアログボックスを表示
           .Execute             'ファイルを開く
        End If
        
    End With
    
End Sub

 

関連記事

コメント