アプリ版:「スタンプのみでお礼する」機能のリリースについて

VBAにてフォルダ内のファイルチェックをして複数あれば処理を終了。
1つなら実行する。という使用に指定のですがなかなかうまくいきません。
どなたかご教示いただけないでしょうか?
下記記述だとファイルが1つでもチェックが入ってしまいます。
以上、宜しくお願いします。
If Dir(ThisWorkbook.Path & "\" & "*.csv*") <> "" Then

MsgBox "ファイル名 :【 *.CSV* FILE 】が複数存在しています。" & Chr(13) & Chr(13) & _
"フォルダ内から不要なCSVファイルを [削除] して下さい。"

Exit Sub

End If

A 回答 (2件)

If Dir(ThisWorkbook.Path & "\" & "*.csv*") <> "" Then


If Dir() <> "" Then
MsgBox "ファイル名 :【 *.CSV* FILE 】が複数存在しています。" & vbCr & vbCr _
& "フォルダ内から不要なCSVファイルを [削除] して下さい。"
Exit Sub
End If
' 1つなら実行する
End If
    • good
    • 1
この回答へのお礼

よろずやkinchan様
早急な対応感謝いたします。
かんたんに編集できました(*^_^*)
ありがとうございました。

お礼日時:2019/12/09 13:23

Dim FName As String


Dim i As Long
FName = Dir(ThisWorkbook.Path & "\" & "*.csv")
Do While FName <> ""
 i = i + 1
 FName = Dir
Loop
If i > 1 Then
MsgBox "ファイル名 :【 *.CSV FILE 】が" & i & "個存在しています。" & vbCr & vbCr & _
"フォルダ内から不要なCSVファイルを [削除] して下さい。"
End If

元の数が少なければ、これでも良いかと。
    • good
    • 0
この回答へのお礼

WindFaller様
出来ました。ありがとうございました。
ベストアンサーに選びたかったのですが、記述の少ない よろずやkinchan様
のほうが簡単に編集できたので今回はすみません。
今後の参考にさせて頂きます。

お礼日時:2019/12/09 13:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!