
■ 複数のファイルの取得
今回は、FileDialogオブジェクトを使用して複数のファイルを参照してみました。
'カウンタ
Dim i As Integer
With Application.FileDialog(msoFileDialogFilePicker)
'複数のファイルを取得します
.AllowMultiSelect = True
'ダイアログを表示します。
If .Show = True Then
'選択したフォルダパスを表示
For i = 1 To .SelectedItems.Count
MsgBox .SelectedItems.Item(i)
Next
End If
End With
複数のファイル取得をする場合は、AllowMultiSelectプロパティを有効(True)にします。その状態でShowメソッドを実行すると、複数選択が可能なウィンドウが表示されます。

選択したファイルの数は、SelectedItemsプロパティ(FileDialogSelectedItems)のcountプロパティで取得できます。上のサンプルでは、それを利用して選択したファイルパスをfor文を使用して連続表示しています。
■ 補足
当然の話なのですが、複数ファイル取得のプロパティ「AllowMultiSelect」は“複数のファイルを選択する処理”でしか使用できません。
つまり、今回使用したmsoFileDialogFilePicker(ファイル参照)とmsoFileDialogOpen(ファイルオープン)だけで有効になります。msoFileDialogSaveAs(ファイル保存)、msoFileDialogFolderPicker(フォルダ参照)の場合、複数選択は出来ませんでした。
msoFileDialogSaveAs(ファイル保存)は分るのですが、msoFileDialogFolderPicker(フォルダ参照)で複数のフォルダを選択は出来ても良さそうな気がしますけどね。
前回:Excelマクロでファイルやフォルダを選択 №3 ファイル参照(初期値)
次回:Excelマクロでファイルやフォルダを選択 №5 参照と開くの違い
目次:目次
--- blog end ---
スポンサードリンク


