Excel VBA フォルダやファイルのダイアログボックスを表示させる

スポンサーリンク

FileDialog【ファイルダイアログ】プロパティ

フォルダやファイルのダイアログボックスを表示するには、Application【アプリケーション】オブジェクトのFileDialog【ファイルダイアログ】プロパティで、フォルダやファイルのダイアログボックスを表す、FileDialog【ファイルダイアログ】オブジェクトを取得してファイルダイアログの種類を設定します。

FileDialog【ファイルダイアログ】プロパティの書式と設定値(引数)の説明

オブジェクト.FileDialog( FileDialogType )

  • オブジェクト(必須)
    Application【アプリケーション】オブジェクトを指定します。
  • FileDialogType【ファイルダイヤログタイプ】(必須)
    以下のMsoFileDialogType クラスの定数または値を設定します。

    設定値内容
    msoFileDialogOpen1ファイルを開くダイアログ
    msoFileDialogSaveAS2名前を付けて保存ダイアログ
    msoFileDialogFilePicker3参照ファイルの選択ダイアログ
    msoFileDialogFolderPicker4参照フォルダーの選択ダイアログ

FileDialog【ファイルダイアログ】オブジェクトのメソッド一覧表

メソッド内容
Execute
【エグズキュート】
Show【ショウ】 メソッドが呼び出された直後のユーザーの
アクションを実行します。
Show
【ショウ】
ダイアログ ボックスを表示し【アクション】ボタン
(【開く】や【保存】)がクリックされたときは[-1]
【キャンセル】ボタンがクリックされたときは[0]が返ります。
また、Executeメソッドを使用すると
ファイルを開いたり、保存するなどの操作を実行します。

FileDialog【ファイルダイアログ】オブジェクトのプロパティ一覧表

プロパティ内容
AllowMultiSelect
【アロウマルチセレクト】
複数ファイル選択できるようにする場合はTrueを設定します。
ButtonName
【ボタンネーム】
動作設定ボタンに表示されるテキストを表す。
文字列を取得または設定します。
DialogType
【ダイアログタイプ】
ダイアログ ボックスの種類を表す。
定数を取得します。
読み取り専用です。
FilterIndex
【フィルターインデクス】
ダイアログを表示したとき
最初に選択されるフィルターを指定
[ファイルの種類]で表示されるファイル名を上から
順番に指定されているインデクス番号で指定します。
値の取得と設定が可能です。
フィルターの数より大きい値が設定された場合
使用可能なフィルターの最後のフィルターが選択されます。
Filters
【フィルターズ】
フィルターに表示されるファイル一覧を表す
FileDialogFilters コレクションを取得します。
値の取得のみ可能です。
InitialFileName
【イニシャルファイルネーム】
ファイルダイアログボックスの最初に表示される
保存先(パス)の取得と
保存先(パス)を文字列で設定します。
InitialView
【イニシャルビュー】
ファイルやフォルダの表示方法を
MsoFileDialogView列挙型の定数で指定します。
SelectedItems
【セレクティッドアイテム】
ユーザーが選択したファイルのパスの一覧を表す
FileDialogSelectedItems コレクションを取得します。
Title
【タイトル】
ダイアログのタイトル文字列を取得または設定します。

ブックを開くダイアログボックスを表示するコードと解説

Sub ダイアログ()
 With Application.FileDialog(msoFileDialogOpen)
    .InitialFileName = "C:¥users¥documents¥"
    .FilterIndex = 2
  If .Show = -1 Then .Execute
 End With
End Sub

2行目【 With Application.FileDialog(msoFileDialogOpen) 】Applicaion【アプリケーション】オブジェクトのFileDialog【ファイルダイアログ】プロパティを使用して、引数にファイルダイアログを表す定数msoFileDialogOpenを指定して、「ファイルを開くダイアログオブジェクト」を参照し、With【ウィズ】ステートメントで指定します。


3行目【.InitialFileName = “C:¥users¥documents¥” 】
With【ウィズ】ステートメントで指定したFileDialog【ファイルダイアログ】オブジェクトのInitialFileName【イニシャルファイルネーム】プロパティを使用して、最初に表示する保存先を「マイドキュメント」に指定します。


4行目【.FilterIndex = 2 】
With【ウィズ】ステートメントで指定したFileDialog【ファイルダイアログ】オブジェクトのFilterIndex【フィルターインデックス】プロパティでファイル選択フィルターの2番目「すべてのExcelファイル」が表示されるように指定しています。


5行目【 If .Show = -1 Then .Execute 】
Ifステートメント(条件分岐)を使用して、Showメソッドの値が「-1」だったときを条件としています。-1とは、開くボタンが押されたときになります。開くボタンがおされたときExecute【エグズキュート】メソッドでファイルを開きます。

保存のダイアログボックス表示のコードと解説

Sub ダイアログ2()
 With Application.FileDialog(msoFileDialogSaveAs)
    .InitialFileName = ThisWorkbook.path & "¥"
    .FilterIndex = 1
  If .Show = -1 Then .Execute
 End With
End Sub
2行目【 With Application.FileDialog(msoFileDialogSaveAs) 】
Applicaion【アプリケーション】オブジェクトのFileDialog【ファイルダイアログ】プロパティを使用して、引数にファイルダイアログを表す定数msoFileDialogSaveAsを指定して、「ファイルを保存するダイアログオブジェクト」を参照し、With【ウィズ】ステートメントで指定します。


3行目【 .InitialFileName = ThisWorkbook.path & “¥” 】

With【ウィズ】ステートメントで指定したFileDialog【ファイルダイアログ】オブジェクトのInitialFileName【イニシャルファイルネーム】プロパティで最初に表示する保存先をApplication【アプリケーション】オブジェクトのThisWorkbook【ディスワークブック】プロパティで取得したこのプロシージャが記述されているブックのpath 【パス】プロパティで取得した保存場所(パス)に設定します。


4行目【 .FilterIndex = 1 】
With【ウィズ】ステートメントで指定したFileDialog【ファイルダイアログ】オブジェクトのFilterIndex【フィルターインデックス】プロパティでファイル選択フィルターの1番目のExcelブックを選択しています。


5行目【 If .Show = -1 Then .Execute 】
Ifステートメント(条件分岐)を使用して、Showメソッドの値が「-1」だったときを条件としています。-1とは、開くボタンが押されたときになります。開くボタンがおされたときExecute【エグズキュート】メソッドでファイルを開きます。

さまざまなダイアログボックスを表示する方法

ファイル操作に関するダイアログボックス以外にも、さまざまなダイアログボックスがあります。それらのダイヤログボックスを表示するにはApplication【アプリケーション】オブジェクトのDialogs【ダイアログス】プロパティを利用してDialog【ダイアログ】オブジェクトを取得して操作する方法があります。

MsoFileDialogView列挙型の定数

定数内容
msoFileDialogViewDetailsファイルを詳細情報と共に一覧表示します。
msoFileDialogViewLargeIconsファイルを大きいアイコンで表示します。
msoFileDialogViewListファイルを詳細情報なしで一覧表示します。
msoFileDialogViewPreviewファイルの一覧を表示し、選択したファイルを
プレビュー ウィンドウ枠に表示します。
msoFileDialogViewPropertiesファイルの一覧を表示し、選択したファイルの
プロパティをウィンドウ枠に表示します。
msoFileDialogViewSmallIconsファイルを小さいアイコンで表示します。
msoFileDialogViewThumbnailファイルを縮小表示します。
msoFileDialogViewTilesファイルをアイコンで並べて表示します。
msoFileDialogViewWebViewファイルを Web 表示します。

以上で、フォルダやファイルのダイアログボックスを表示させる方法の解説を終了します。
ありがとうございました。

スポンサーリンク

関連記事・広告