Excel VBA 入門講座

Excel VBA Tips Excel VBA 入門講座

ダイアログボックス(FileDialog)

ファイルやフォルダを選択するダイアログボックスを表示する方法の一つにFileDialogプロパティを使用する方法があります。


Application.FileDialog(定数)

引数にダイアログボックスの種類を表す定数を指定して、Showメソッドを使用します。

定数数値説明
msoFileDialogFilePicker3ファイルを選択する
msoFileDialogFolderPicker4フォルダーを選択する
msoFileDialogOpen1ファイルを開く
msoFileDialogSaveAs2ファイルを保存する

ダイアログボックスでファイルを選択するサンプルコードです。


Sub ShowFileDialogFilePicker()

    With Application.FileDialog(msoFileDialogFilePicker)
        If .Show Then
            MsgBox .SelectedItems(1)
        End If
    End With

End Sub

サンプルコードを実行するとファイルを選択できるダイアログボックスが表示され、ファイル選択後[OK]ボタンをクリックするとファイルパスが表示されます。

実行結果
ダイアログボックス1
ダイアログボックス2

以下のサンプルコードではダイアログボックスを表示してフォルダを選択しフォルダパスを表示します。


Sub ShowFileDialogFolderPicker()

    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show Then
            MsgBox .SelectedItems(1)
        End If
    End With

End Sub
実行結果
ダイアログボックス3
ダイアログボックス4

FileDialogには以下のプロパティがあり用途に応じて使用します。

プロパティ説明
AllowMultiSelect複数のファイルまたはフォルダを選択できるようにします
ButtonNameファイルダイアログボックスのアクションボタンに表示されるテキスト
DialogTypeMsoFileDialogTypeを変更します
Filterユーザーが選択できるファイルタイプをフィルタリングするようにファイルフィルターを指定します
InitialFileName開かれる最初のパス(例: C:\)
InitialViewファイル ダイアログ ボックスでユーザーに表示されるビューを以下お定数で指定します
  • msoFileDialogViewDetails
  • msoFileDialogViewLargeIcons
  • msoFileDialogViewList
  • msoFileDialogViewPreview
  • msoFileDialogViewProperties
  • msoFileDialogViewSmallIcons
  • msoFileDialogViewThumbnail
  • msoFileDialogViewWebView
SelectedItems選択したすべてのアイテムを含むタイプFileDialogSelectedItemsのコレクション
Title[ファイルを開く]ダイアログウィンドウのタイトルを指定します

以下のサンプルコードではプロパティにより複数ファイル選択可にしてフィルターに"Excelファイル(.xlsx)"を追加してダイアログボックスを表示します。


Sub ShowFileDialogFilePicker()

    With Application.FileDialog(msoFileDialogFilePicker)
       
       .AllowMultiSelect = True
       .Filters.Clear
       .Filters.Add "Excelファイル(.xlsx)", "*.xlsx"
        If .Show Then
            For Each v In .SelectedItems
                MsgBox v
            Next v
        End If
    
    End With

End Sub
ダイアログボックス
ダイアログボックス3

InitialViewプロパティには以下の定数を指定することができます。

名前数値説昁E/th>
msoFileDialogViewDetails2ファイルはリスト形式で詳細情報と共に表示されます
msoFileDialogViewLargeIcons6ファイルは大きいアイコンで表示されます
msoFileDialogViewList1ファイルはリスト形式で詳細なしで表示されます
msoFileDialogViewPreview4ファイルは選択したファイルを示すプレビュー ウィンドウと共に表示されます
msoFileDialogViewProperties3ファイルはリスト形式で選択したファイルのプロパティを示すウィンドウと共に表示されます
msoFileDialogViewSmallIcons7ファイルは小さいアイコンで表示されます
msoFileDialogViewThumbnail5ファイルは縮小表示で表示されます
msoFileDialogViewTiles9ファイルは並べられたアイコンで表示されます
msoFileDialogViewWebView8Web ビューに表示されるファイル
Excel VBA Tips Excel VBA 入門講座 TOP