【VBA】フォルダ名を変更する

VBAで
 ・フォルダ名を変更
できます!

ここでは
 ・私が可読性が良いと考える方法
を記載します!
※実現方法は複数あります。
※可読性が良い方法を知っておけばよいです。

PR

VBAコード

ここでは例として
 ・デスクトップ配下にあるフォルダ「temp」のフォルダ名を
 ・「newTemp」へ変更
します。

デスクトップ配下にあるフォルダ「temp」
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

「変更のフォルダのパス」を指定します(10行目)。

「変更のフォルダ名」を指定します(12行目)。

「FileSystemObject」の「GetFolder」メソッドにより、「Folderオブジェクト」を取得します(17行目)。

「Folderオブジェクト」の「Name」プロパティに、「変更後のフォルダ名」を設定します(17行目)。

PR

実行結果

フォルダ名を変更できました。

実行結果
実行結果
PR

備考(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

「直感的に分かりづらい」ということは、「可読性が良くない」ということです。

PR

参考①

フォルダを移動することもできます。

詳細は以下の記事をご確認ください。

PR

参考②

フォルダを削除することもできます。

詳細は以下の記事をご確認ください。

PR

参考③

ワイルドカードを使用することで、複数のフォルダをコピーすることもできます。

詳細は以下の記事をご確認ください。

PR

参考④

フォルダ名を変更する前に、変更後のフォルダ名の存在有無を確認した方が良いかもです

フォルダの存在有無の確認方法は、以下の記事をご確認ください。

PR

参考⑤

フォルダ名ではなく、ファイル名を変更することもできます。

詳細は以下の記事をご確認ください。

PR

参考⑥

上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。

●「FileSystemObject」の「GetFolder」メソッド


●「Folderオブジェクト」の「Name」プロパティ

タイトルとURLをコピーしました