プロが教えるわが家の防犯対策術!

Excelのマクロについて教えてください。
マクロを実行して
作業フォルダ内にあるファイルの名前を変更するマクロがあります。
拡張子の前部分が専用ソフトからダウンロードした時に自動でつく半角数字「14桁」になります。例えば「20230710082524.eds」です。
上記のファイル名の「20230710082524」はダウンロードの都度変更になります。
下記のマクロを設定したのですが、「.edS」が見つかりません、と表示が出て上手くファイル名を変更できませんでした。解決方法をお願いします。
マクロ
Sub エジソン審査資料()
Dim parentFolderPath As String
parentFolderPath = ThisWorkbook.Path

Dim orgFileName As String
orgFileName = Dir(parentFolderPath & "\" & "##############.eds ")

If orgFileName = "" Then
MsgBox ".edsはありません"
Exit Sub
End If

Dim newFileName As String
newFileName = "審査資料.eds"

Name parentFolderPath & "\" & orgFileName As parentFolderPath & "\" & newFileName
End Sub

よろしくお願いします。

A 回答 (2件)

https://oshiete.goo.ne.jp/qa/13525660.html
を1つ1つやる感じなのかな・・・
専用ソフト側で設定すれば気にする事なさそうなのですが・・・・
余計な事を言っても意味ないですね

https://detail.chiebukuro.yahoo.co.jp/qa/questio …
で解決しているようですが後に問題が発生するかもしれませんので違う方法で 70%くらいChatGPT生成(半角数字14文字の名前限定)

Sub エジソン申請書()
Call reNameFile("申請書", ".eds", 14)
End Sub

Sub エジソン審査資料()
Call reNameFile("審査資料", ".eds", 14)
End Sub

Sub reNameFile(ByVal newFileName As String, ByVal Extension As String, ByVal fileName_length As Integer)
Dim folderPath As String
folderPath = ThisWorkbook.Path
If Dir(folderPath & "\" & newFileName & Extension) <> "" Then
MsgBox "既に書き換えファイル名が存在します。", vbCritical
Exit Sub
End If
Dim fileName As String
fileName = Dir(folderPath & "\" & "*" & Extension) ' 対象の拡張子を指定してください
Dim foundFile As Boolean
foundFile = False
Dim tmpFileName
Do While fileName <> ""
' ファイル名の条件に合わせて調整してください
tmpFileName = Left(fileName, Len(fileName) - Len(Extension))
If tmpFileName = StrConv(tmpFileName, vbNarrow) Then
If IsNumeric(tmpFileName) And Len(tmpFileName) = fileName_length Then
If foundFile = True Then
MsgBox "書き換え対象ファイルが複数存在しますので処理を中止します。", vbCritical
Exit Sub
Else
foundFile = True
'Exit Do
End If
End If
End If
fileName = Dir()
Loop
If foundFile Then
Name folderPath & "\" & fileName As folderPath & "\" & newFileName & Extension
MsgBox "ファイル名を変更しました" & vbCrLf & fileName & vbCrLf & _
" to : " & newFileName & Extension, vbInformation
Else
MsgBox "対象ファイルが存在しません。", vbInformation
End If
End Sub
    • good
    • 0
この回答へのお礼

回答ありがとうございます
何時もありがとうございます
上手く行きました

お礼日時:2023/07/10 18:15

##############.eds  を



*.eds

にしてみたら?
    • good
    • 1
この回答へのお礼

回答ありがとうございました。
早速試してみます。

お礼日時:2023/07/10 09:29

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