ダイアログボックスからファイル、フォルダーを指定する

今回はダイアログボックスからのファイル、フォルダ選択についてメモしておきます。

Application.GetOpenFilenameメソッドを使う方法と、Application.FileDialogプロパティを使う方法があります。

ファイルを1つ選択する (Application.GetOpenFilenameメソッド)


ダイアログボックスから1ファイルのみを指定する方法です。
ここでは「C:\excelmemo」に以下のようなファイルがあります。

(“Sample6_22.xlsm”が自身のファイルです。)


実行プログラム

ダイアログ
実行結果


  • FilterIndexを”2″で設定しているので、初期表示は2つ目のフィルターになっています。

  • MultiSelectを”False”で設定しているので、ファイルは1つしか選べません。
    (既定値は”False”なので省略しても構いません。)
  • 自身のファイルパスをカレントディレクトリにしているので、初期表示が同じフォルダになっています。
  • Titleは省略すると「ファイルを開く」と表示されます。

  • ダイアログからファイルが選択された場合、String型が返されます。

  • ダイアログで”キャンセル”された場合、Boolean型が返されます。

 

 

ファイルを複数選択する (Application.GetOpenFilenameメソッド)


ダイアログボックスから複数ファイルの指定が可能です。
ここでは「C:\excelmemo」に以下のようなファイルがあります。

(“Sample6_22.xlsm”が自身のファイルです。)


実行プログラム

ダイアログ
実行結果

  • MultiSelectを”True”で設定しているので、ファイルは複数選べます。
  • ファイルが選ばれた場合、配列が返される。

  • ファイルが選ばれなかった場合、Boolean型が返される。


ファイルを複数選択する (Application.FileDialogプロパティ)


ダイアログボックスから複数ファイルの指定が可能です。
ここでは「C:\excelmemo」に以下のようなファイルがあります。

(“Sample6_22.xlsm”が自身のファイルです。)

実行プログラム

ダイアログ
実行結果

  • FileDialogオブジェクトに”msoFileDialogFilePicker”を指定することでファイルを選択することができます。
  • “msoFileDialogFilePicker”の場合、Executeメソッドは実行できません。
  • InitialFileNameで初期表示フォルダを指定します。ここでは自身のフォルダを指定しています。
    パスの最後に”¥”がないとフォルダ名が入ってしまいます。

  • AllowMultiSelectを”True”に設定しています。複数ファイルの選択が可能になっています。
  • FilterIndexを”2″で設定しているので、初期表示は2つ目のフィルターになっています。



ファイルを選択し、開く (Application.FileDialogプロパティ)


ここでは「C:\excelmemo」に以下のようなファイルがあります。

(“Sample6_22.xlsm”が自身のファイルです。)

実行プログラム

ダイアログ
実行結果

  • FileDialogオブジェクトに”msoFileDialogOpen”を指定することでファイルを開くことができます。
  • Executeメソッドで開きます。


フォルダを選択する (Application.FileDialogプロパティ)


ここでは「C:\excelmemo」に以下のようなフォルダがあります。

(“Sample6_22.xlsm”が自身のファイルです。)

実行プログラム

ダイアログ
実行結果

  • FileDialogオブジェクトに”msoFileDialogFolderPicker”を指定することでフォルダを選択することができます。


Application.FileDialogプロパティの他のメンバー


ここまで紹介していないメンバーについてメモしておきます。
あまり使う機会もないメンバー、現在では使えなくなっているメンバーです。

実行プログラム

ダイアログ
実行結果

  • CreatorはExcelの場合は”1480803660″を取得します。
    (Wordの場合は”1297307460″を取得します。)
  • DialogTypeはFileDialogオブジェクトの種類を値で取得します。
    Itemは名前で取得します。
名前 説明
1 msoFileDialogOpen [開く]ダイアログボックス
2 msoFileDialogSaveAs [名前を付けて保存]ダイアログボックス
3 msoFileDialogFilePicker [参照]ダイアログボックス
4 msoFileDialogFolderPicker [フォルダーの選択]ダイアログボックス
  • InitialView、ButtonNameは、以前は使えましたが現在は使えません。
    設定が反映されていないことが確認できます。