ダイアログボックスで複数フォルダの複数ファイルの選択
ダイアログボックスで複数フォルダの複数ファイルの選択がうまくいきません。
単一フォルダ内からの複数ファイルの選択は機能しているのですが、ダイアログボックスで他のフォルダを選択して他のファイルを選択すると最終的に選択したファイルのみが残り、先に選択した分が累積されません。 OpenFileNameが上書きされるのが原因な気がするのですが配列への累積処理が解りません。
その後の処理で選択したファイルを全て開いて加工したいので、累積させる方法を知りたいのです。下記コードはLoop処理で行おうとして累積が解らないままのものです。
一度のダイアログ表示で複数フォルダの複数ファイルを選択出来る方法があればそれでもかまいません。どなたか助けては頂けないでしょうか。お願いします。
'**明細の選択(複数同時)**
Do
BN = Application.InputBox("対象明細書の年月を入力してください。1桁の月は02月のように入力)", , Default:="2009.04", Type:=2)
If BN = False Then '入力なければ
GoTo OWARI
End If
WorkPath = ThisWorkbook.Path & "\明細書一覧" & BN & "月"
ChDrive WorkPath
ChDir WorkPath
OpenFileName = Application.GetOpenFilename(FileFilter:="Microsoft Excelブック,*.xls", _
Title:="対象の明細書を選んで下さい。Ctrlキーを押しながら複数ファイルを同時に選択出来ます。", MultiSelect:=True)
Rtn = MsgBox("他にも対象ファイルがありますか?", vbYesNo, "選択")
If Rtn = vbNo Then
Exit Do
End If
Loop
Mypath = ThisWorkbook.Path
MyFile = "\請求制御.xls" 'ここにファイル名記入
If IsArray(OpenFileName) Then
For i = 1 To UBound(OpenFileName)
If OpenFileName(i) = Mypath & MyFile Then
MsgBox "同じファイルが含まれてます。", vbInformation, "同じファイルは選択出来ません"
GoTo OWARI
End If
tmp = tmp & Dir(OpenFileName(i)) & vbCrLf
Next
MsgBox vbCrLf & tmp & vbCrLf & "の全" & i - 1 & "枚です" & vbCrLf & "これらでよろしいですか? ", vbInformation, "選択したファイルは "