ファイルを開くダイアログボックスの表示

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

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

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

  1. FileDialogプロパティの引数にmsoFileDialogOpenを指定して実行し、FileDialogオブジェクトを取得する。
  2. FileDialogオブジェクトのShowメソッドで「ファイルを開く」ダイアログボックスを表示する。(その後、ダイアログボックスでの操作を行う。)
  3. 「開く」ボタンが押された場合はFileDialogオブジェクトのExecuteメソッドで対象のファイルをExcel上で開く処理を実行する。

構文

Application.FileDialog(msoFileDialogOpen) As FileDialog

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

使い方

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

ここでは特にプロパティの設定はしていませんが、「ファイルを開く」ダイアログの場合はプロパティの設定はほとんど不要です。プロパティをなにも指定しない場合は、ファイルの種類は「すべてのファイル(*.*)」が対象になります。そのため、Excelブックだけでなくテキストファイルなども開いてExcelで表示します。

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

最後に「開く」ボタンの処理を行います。存在しないファイル名の場合は「ファイルが見つかりません。ファイル名を確認して再実行してください。」と警告メッセージが表示され、「ファイルを開く」ダイアログに戻されます