VBAで
・フォルダ名を変更
できます!
ここでは
・私が可読性が良いと考える方法
を記載します!
※実現方法は複数あります。
※可読性が良い方法を知っておけばよいです。
VBAコード
ここでは例として
・デスクトップ配下にあるフォルダ「temp」のフォルダ名を
・「newTemp」へ変更
します。
Option Explicit
Sub sample()
Dim fso As Object
Dim folderFullPath As String
Dim newFolderName As String
'変更前のフォルダのパスを指定
folderFullPath = "C:\Users\user\Desktop\temp"
'変更後のフォルダ名
newFolderName = "newTemp"
Set fso = CreateObject("Scripting.FileSystemObject")
'フォルダ名を変更
fso.GetFolder(folderFullPath).Name = newFolderName
'後片付け
Set fso = Nothing
End Sub
実行結果
フォルダ名を変更できました。
備考(Nameステートメントについて)
「Nameステートメント」でもフォルダ名を変更できます。
またフォルダの移動(パスの変更)も、「Nameステートメント」によりできます。
ただ「Nameステートメント」だと
・フォルダ名の変更をしているのか
・フォルダの移動(パスの変更)をしているのか
が直感的に分かりづらいため、「Nameステートメント」の使用はオススメしません。
Option Explicit
Sub sample()
'フォルダ名の変更
Name "C:\Users\user\Desktop\temp" As "C:\Users\user\Desktop\newTemp"
End Sub
Option Explicit
Sub sample()
'フォルダの移動(パスの変更)
Name "C:\Users\user\Desktop\temp" As "C:\Users\user\フォルダ001\temp"
End Sub
参考①
フォルダを移動することもできます。
詳細は以下の記事をご確認ください。
参考②
フォルダを削除することもできます。
詳細は以下の記事をご確認ください。
参考③
ワイルドカードを使用することで、複数のフォルダをコピーすることもできます。
詳細は以下の記事をご確認ください。
参考④
フォルダ名を変更する前に、変更後のフォルダ名の存在有無を確認した方が良いかもです
フォルダの存在有無の確認方法は、以下の記事をご確認ください。
参考⑤
フォルダ名ではなく、ファイル名を変更することもできます。
詳細は以下の記事をご確認ください。
参考⑥
上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。
●「FileSystemObject」の「GetFolder」メソッド
●「Folderオブジェクト」の「Name」プロパティ