EXCEL、VBA

【VBA】ファイル名を変更する

 

ファイル名を変更する構文

ファイル名を変更する構文は次のとおり。

'ファイルを削除する
Name "変更前のファイルパス" As "変更後のファイルパス"

'例
'フォルダ「C:\test\」にある「testfile.txt」を「testfile2.txt」に名前変更する
Name "C:\test\testfile.txt" As "C:\test\testfile2.txt"

 

 

ファイル名を変更する関数

ファイル名を変更する関数です。

引数 beforeName:リネーム前のファイルパス(フルパス)

引数 afterName:リネーム後のファイルパス(フルパス)

備考 リネーム前のファイルがなければ処理中断、またはリネーム後のファイルがあれば処理中断します

Public Sub renameFile(ByVal beforeName As String, ByVal afterName As String)
    
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    'リネーム前のファイルがなければ処理中断
    If fso.FileExists(beforeName) = False Then
       Exit Sub
    End If

    'リネーム後のファイルがあれば処理中断
    If fso.FileExists(afterName) = True Then
       Exit Sub
    End If
    
    'ファイルが存在する場合にリネーム処理
    Name beforeName As afterName

End Sub

 

実行例

'フォルダ「C:\test\」にある「testfile.txt」を「testfile2.txt」に名前変更する
Call renameFile("C:\test\testfile.txt", "C:\test\testfile2.txt")