ユーザーにフォルダーを選択してもらう
マクロ 77回
マクロの実行時にフォルダを選択できるようにする
いつも同じ規定のフォルダからファイルを開く場合や、保存する場合は直接アドレスからのファイルネームで指定しますが、
フォルダを変更する場合もあるかもしれません。
今回は、ユーザがフォルダを選択するための“フォルダーの選択”ダイアログボックスを使う場合を紹介します。
“フォルダーの選択”ダイアログボックス
1. ファイル ダイアログを開くには、Application.FileDialogプロパティを利用して FileDialog オブジェクトを取得します。
2. フォルダを選択するコードを記述してみましょう。
Sub フォルダーの選択() With Application.FileDialog(msoFileDialogFolderPicker) .Show MsgBox .SelectedItems(1) End With End Sub
3.マクロを実行すると、フォルダの選択画面が表示されます。
4. フォルダーを選択してOKを押すとMsgBoxにフォルダ名が表示されます。
ダイアログボックスで“ファイルの選択”
5.ファイルを選択する場合は、コードの定数部分を msoFileDialogFilePickerに変更します。
Sub ファイルの選択() With Application.FileDialog(msoFileDialogFilePicker) .Show MsgBox .SelectedItems(1) End With End Sub
ファイルを選択してOKをクリックすると、選択したファイル名がメッセージボックスに表示されます。
ダイアログボックスで“複数ファイルの選択”
7. 複数ファイルを選択する場合は、コードに次の .AllowMultiSelect = Trueを追加します。
また、複数のファイル名を順番に表示するために、For~Nextステートメントをつかいます。
Sub 複数ファイルーの選択() Dim fileCount As Long With Application.FileDialog(msoFileDialogFilePicker) .AllowMultiSelect = True .Show For fileCount = 1 To .SelectedItems.Count MsgBox .SelectedItems(fileCount) Next fileCount End With End Sub
実行すると、ダイアログボックスで複数のファイルを選択することができます。
7. ファイルを2つ選択したので、最初の1つ目のファイル名がメッセージボックスに表示されました。
8. 2つ目のファイル名がメッセージボックスに表示されました。今回は以上です。