ファイル名の一括置換がIF文のときだけエラーになる
ファイル名の一括置換がIF文のときだけエラーになる
こんにちは。VBA初心者です。
フォームから受け取ったディレクトリ内にあるファイルの名前を一括置換しようとして、以下のようなコードを書いたのですが、「実行時エラー'53' ファイルがありません。」となってしまします(だだし、1つ目のファイルだけは正しくリネームされます)。
フォームから受け取ったパスは使用せず(IF文は使用せず)、例えば、ファイル名の末尾を「_ja.txt」から「_de.txt」と固定的に置換するだけならちゃんと動くのですが、どこがいけないでしょうか。
※VBEのローカルペインによると、エラー時の「myRename1」には「"D:\export\de\test_ja.txt"」、「myRename2」には「"D:\export\de\acn200_de.txt"」が格納されているので、問題ないように思えるのですが。。。
Sub ファイル名変更(myPath As String)
Dim myFilename1 As String
Dim myFilename2 As String
Dim myRename1 As String
Dim myRename2 As String
myPath = myPath & "\"
myFilename1 = Dir(myPath & "*_ja.txt")
If myPath = "D:\export\de\" Then
myFilename2 = Replace(myFilename1, "_ja.txt", "_de.txt")
ElseIf myPath = "D:\export\en\" Then
myFilename2 = Replace(myFilename1, "_ja.txt", "_en.txt")
Else
myFilename2 = Replace(myFilename1, "_ja.txt", "_fr.txt")
End If
myRename1 = myPath & myFilename1
myRename2 = myPath & myFilename2
Do While myFilename1 <> ""
Name myRename1 As myRename2
Loop
End Sub
お礼
こんなに複雑なバッチファイルコマンドは私は作ったことがなくて、解析に時間がかかりそうです。 取り急ぎお礼です。 ありがとうございました。