• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ダイアログで選択させたファイルの重複防止を教えて下さいませ)

ダイアログで選択させたファイルの重複防止を教えて下さいませ

このQ&Aのポイント
  • ファイルの選択ダイアログで重複したファイルを防止する方法についてお教えください。
  • Do~Loopで選択したファイルをチェックする際、同じファイルの選択を防止する方法が知りたいです。
  • 選択ファイルをCollectionに登録し、重複チェックを行うことで、重複したファイルを選択させないようにすることができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.1

少しは進んでおるようですね。 myGetFilesのチェック以降の部分をメンテ。 '------------------------------------------------------ '●myGetFilesのチェック ■追加■ Dim myDic ■追加■ Set myDic = CreateObject("Scripting.Dictionary") cnt = 0 For Each OpenFileName In myGetFiles For i = LBound(OpenFileName) To UBound(OpenFileName) If OpenFileName(i) = Mypath & MyFile Then ▲▲修正した▲▲MsgBox "請求制御.xls は選択できません、やり直し", vbOKOnly, "選択エラー" GoTo OWARI End If '*****同じファイルの選択防止 '-----■■コード追加 ここから^----  If myDic.Exists(OpenFileName(i)) Then    MsgBox Dir(OpenFileName(i)) & " はダブリ選択、やり直し", vbOKOnly, "選択エラー"    GoTo OWARI  End If   myDic.Add OpenFileName(i), "" '-----■■ここまで-------------- '*****同じファイルの選択防止完了 cnt = cnt + 1 tmp = tmp & Dir(OpenFileName(i)) & vbCrLf Next i Next OpenFileName 追加コードは、■の部分です。▲は修正。   また、ダブり選択があった時点で、OWARIへ飛ばした。  

yokokama46
質問者

お礼

myRangeさんお早うございます。 原本の選択と重複ファイルの選択を共にDictionaryで処理なのですね。有難うございました。バッチリです。 また、MsgBox の表示まで手を加えてもらいました。助かります。 以前も、時々お世話になりました。重ねてお礼申し上げます。 今後ともよろしくお願い致します。YOKOKAMA46

関連するQ&A