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

ファイル名を変更する方法は複数あります!

ここでは私が可読性が良いと考える方法を
記載します!

VBA

「FileSystemObject」の「GetFile」で取得した
 ・「Fileオブジェクト」の「Nameプロパティ」に、
 ・「変更後のファイル名」を設定
します。

Option Explicit

Sub sample()
    
    Dim fso As Object
    Dim fileFullPath As String
    Dim newFileName As String
    
    '変更前のファイルのパスを指定
    fileFullPath = "C:\Users\user\Desktop\aiueo.txt"
    '変更後のファイル名
    newFileName = "newFileName.txt"
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    'ファイル名を変更
    fso.GetFile(fileFullPath).Name = newFileName
    
    '後片付け
    Set fso = Nothing
    
End Sub

実行結果

ファイル名を変更することが出来ました。

備考(Nameについて)

Nameでもファイル名の変更ができます。
またファイルの移動(パスの変更)もNameでできます。

Nameだと
 ・ファイル名の変更をしているのか
 ・ファイルの移動(パスの変更)をしているのか
が直感的に分かりづらいため、Nameの使用はオススメしません。

Option Explicit

Sub sample()
    'ファイル名の変更
    Name "C:\Users\user\Desktop\aiueo.txt" As "C:\Users\user\Desktop\newFileName.txt"
End Sub
Option Explicit

Sub sample()
    'ファイルの移動(パスの変更)
    Name "C:\Users\user\Desktop\aiueo.txt" As "C:\Users\user\フォルダ001\aiueo.txt"
End Sub
タイトルとURLをコピーしました