ファイル参照ダイアログボックスの表示

FileDialogプロパティに引数でmsoFileDialogFilePickerを指定して実行すると、「ファイル参照」ダイアログボックスが表示されます。

FileDialogプロパティの詳細については「VBAでファイルダイアログを表示する」をご参照ください。このページでは「ファイル参照」ダイアログボックスに特化して説明します。

ダイアログボックスの操作はコード上では3段階に分けて処理を行うことになります。

  1. FileDialogプロパティの引数にmsoFileDialogFilePickerを指定して実行し、FileDialogオブジェクトを取得する。
  2. FileDialogオブジェクトのShowメソッドで「ファイル参照」ダイアログボックスを表示する。(その後、ダイアログボックスでの操作を行う。)
  3. FileDialogオブジェクトのSelectedItemsプロパティを使ってFileDialogSelectedItemsコレクションに格納されているファイル情報を使ってテキスト処理を行う。

構文

Application.FileDialog(msoFileDialogFilePicker) As FileDialog

引数にはMsoFileDialogType列挙型の「ファイル参照」を表示するためのmsoFileDialogFilePicker定数を指定します。

使い方

Application.FileDialogプロパティに「ファイル参照」ダイアログを表示するためのmsoFileDialogFilePicker定数を指定します。

ボタン名を設定していますが、これはExcelのバグ対策でして、ボタン名を設定しないとダイアログを開いたときは「開く(O)」と表示されていますが、ファイルをクリックすると「OK」に変わってしまうことがあります。これを防ぐためです。”開く(&O)”の&はアンダーバーを表示してショートカット扱いにします。

あとはShowメソッドを使ってファイル選択を行う「参照」ダイアログを表示します。ダイアログの「開く」ボタンを押した場合は-1、キャンセルボタンか×ボタンを押した場合は0が返ります。そのため0が返された場合はそこで処理を終了しています。

「ファイル参照」ダイアログでファイルを選択して「開く」ボタンを押すと、FileDialogオブジェクトのSelectedItemsプロパティで取得できるFileDialogSelectedItemsコレクションにファイル情報が格納されます。

それ以降に参照したファイルをどう扱うかはいろいろあると思いますが、ここではFileDialogSelectedItemsコレクションを使って参照したファイルをテキストファイルとして開いて1行ずつ取得してイミディエイトウィンドウに出力しています。