ファイルを開くダイアログボックスの表示
FileDialogプロパティに引数でmsoFileDialogOpenを指定して実行すると、「ファイルを開く」ダイアログボックスが表示されます。
FileDialogプロパティの詳細については「VBAでファイルダイアログを表示する」をご参照ください。このページでは「ファイルを開く」ダイアログボックスに特化して説明します。
ダイアログボックスの操作はコード上では3段階に分けて処理を行うことになります。
- FileDialogプロパティの引数にmsoFileDialogOpenを指定して実行し、FileDialogオブジェクトを取得する。
 - FileDialogオブジェクトのShowメソッドで「ファイルを開く」ダイアログボックスを表示する。(その後、ダイアログボックスでの操作を行う。)
 - 「開く」ボタンが押された場合はFileDialogオブジェクトのExecuteメソッドで対象のファイルをExcel上で開く処理を実行する。
 
構文
Application.FileDialog(msoFileDialogOpen) As FileDialog
引数にはMsoFileDialogType列挙型の「ファイルを開く」を表示するためのmsoFileDialogOpen定数を指定します。
使い方
Application.FileDialogプロパティに「ファイルを開く」ダイアログを表示するためのmsoFileDialogOpen定数を指定します。
ここでは特にプロパティの設定はしていませんが、「ファイルを開く」ダイアログの場合はプロパティの設定はほとんど不要です。プロパティをなにも指定しない場合は、ファイルの種類は「すべてのファイル(*.*)」が対象になります。そのため、Excelブックだけでなくテキストファイルなども開いてExcelで表示します。
あとはShowメソッドを使って「ファイルを開く」ダイアログを表示します。ダイアログのアクションボタンを押した場合は-1、キャンセルボタンか×ボタンを押した場合は0が返ります。そのため0が返された場合はそこで処理を終了しています。
最後に「開く」ボタンの処理を行います。存在しないファイル名の場合は「ファイルが見つかりません。ファイル名を確認して再実行してください。」と警告メッセージが表示され、「ファイルを開く」ダイアログに戻されます
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19  | 
						Sub FileDialogOpen()     Dim fd      As FileDialog     Dim ret     '// ファイルを開くダイアログを設定     Set fd = Application.FileDialog(msoFileDialogOpen)     '// ダイアログを開く     ret = fd.Show     '// キャンセルボタンまたは×ボタンの場合     If ret = 0 Then         '// キャンセル時は処理を抜ける         Exit Sub     End If     '// 対象ファイルを開く     fd.Execute End Sub  |