![](https://excel-vba.work/wp-content/themes/cocoon-master/images/b-woman.png)
VBAで
・フォルダ名を変更
できます!
![](https://excel-vba.work/wp-content/themes/cocoon-master/images/b-woman.png)
ここでは
・私が可読性が良いと考える方法
を記載します!
※実現方法は複数あります。
※可読性が良い方法を知っておけばよいです。
VBAコード
ここでは例として
・デスクトップ配下にあるフォルダ「temp」のフォルダ名を
・「newTemp」へ変更
します。
![](https://excel-vba.work/wp-content/uploads/2022/02/vba_changefoldername_001.png)
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
実行結果
フォルダ名を変更できました。
![実行結果](https://excel-vba.work/wp-content/uploads/2022/02/vba_changefoldername_002.png)
備考(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」プロパティ