VBAについて質問です。 同じフォルダの中にある『フォルダ名』を一括で変更したいです。 変更したい内容は、 ① 各フォルダ名の末尾の5文字(空白を1文字含む)を削除したいです。
VBAについて質問です。 同じフォルダの中にある『フォルダ名』を一括で変更したいです。 変更したい内容は、 ① 各フォルダ名の末尾の5文字(空白を1文字含む)を削除したいです。 ② 上記①の内容に加えて、特定の文字や記号などを削除したいです。例えば、四角→ "■" などです。 どうぞよろしくお願いいたします。
Visual Basic・34閲覧
ベストアンサー
>同じフォルダの中にある 当該マクロを含むマクロ付きブックが保存されているフォルダのサブフォルダのことだと解釈。 Sub フォルダーリネーム() Const 削除する長さ& = 5 Const 削除する文字$ = "■" Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") Dim root As String root = ThisWorkbook.Path Dim folder As Object For Each folder In FSO.GetFolder(root).SubFolders Dim org$, new_$ org = folder.Name If Len(org) > 削除する長さ Then new_ = Left(org, Len(org) - 削除する長さ) Else new_ = org End If new_ = Replace(new_, 削除する文字, "") If FSO.folderExists(root & "\" & new_) = False Then folder.Name = new_ End If Next Set FSO = Nothing End Sub
早々にご回答をいただきありがとうございました。 バッチリです!自分がやりたいと思っていた事ができました。 助かりました。
質問者からのお礼コメント
ありがとうございました。 大変、助かりました。
お礼日時:6/30 14:54