Windowsで「フォルダ名」を「自由自在」に「一括変換(変更)」したいと思い、ネットで探していましたが、思うようなものが見つからなかったので、Excelで作成してみました。フリーソフトですので、ご自由にダウンロードしご利用ください。利用は自己責任でお願いします。
目次
【ダウンロード】Excelフリーソフト「フォルダ名一括変換ソフト」
以下のExcelファイルを右クリックしダウンロードください。
フリーソフトですので、ご自由にダウンロードしご利用ください。利用は自己責任でお願いします。
【ダウンロード】Excel|Folder-rename01.xlsm
マクロを有効化する方法(ファイルのブロックを解除する方法)
ほとんどの場合、次のようにファイルのプロパティを変更することでマクロのブロックを解除できます。
1.Windows ファイル エクスプローラーを開き、ファイルを保存したフォルダーに移動します。
2.ファイルを右クリックし、コンテキスト メニューから [プロパティ] を選択します。
[全般] タブの下部で、[許可する] チェック ボックスを選択して、[OK] を選択します。
使用前の事前設定
・ダウンロードしたExcelファイルを開きます
- 「開発」をクリック
- 「コード表示」をクリック
- 「ツール」をクリック
- 「参照設定」をクリック
- 「Microsoft Scripting Runtime」を選択
【使用方法】Excelフリーソフト|Windows「ファイル名一括変換ソフト」
【VBAソースコード】Excelフリーソフト|Windows「ファイル名一括変換ソフト」
【VBAソースコード】フォルダ名抽出
Private Sub CommandButton1_Click()
Dim FSO As New FileSystemObject 'ファイルシステムオブジェクト
Dim Files As Files 'Filesオブジェクト
Dim File As File 'Fileオブジェクト
Dim Fol_path As String 'フォルダのパス
Dim row_num As Long 'データを書き込む行数
'フォルダを選択するダイアログを表示
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "フォルダを選択してください"
If .Show = True Then
Fol_path = .SelectedItems(1)
Else
'フォルダが選択されていない場合は処理を終了。
MsgBox "フォルダが選択されていません。"
Exit Sub
End If
End With
row_num = 3
'シートを初期化
Sheets(1).Range("A1:D1") = ""
Sheets(1).Range("A3:B10000") = ""
'Filesオブジェクトを取得
Set SubFolders = FSO.GetFolder(Fol_path).SubFolders
Sheets(1).Cells(1, 1) = FSO.GetFolder(Fol_path)
'FilesオブジェクトからFileオブジェクトを一つずつ取り出して処理
For Each Folders In SubFolders
Sheets(1).Cells(row_num, 2) = Folders.Name
Sheets(1).Cells(row_num, 4) = Folders.Name
'Sheets(1).Cells(row_num, 3) = File.Type
'Sheets(1).Cells(row_num, 4) = File.DateLastModified
row_num = row_num + 1
Next
MsgBox "フォルダ名の抽出が完了しました"
'オブジェクト解放
Set File = Nothing
Set Files = Nothing
Set FSO = Nothing
End Sub
Private Sub CommandButton2_Click()
' 変数宣言
Dim original_foldername As String
Dim new_foldername As String
path_name = Sheets(1).Cells(1, 1) & "\"
'MsgBox path_name
row_num = 3
While i < 150
' 変更前及び変更後のファイル名(パス)を変数に代入する
original_foldername = path_name & Sheets(1).Cells(row_num, 4)
new_foldername = path_name & Sheets(1).Cells(row_num, 2)
' ファイル名を変更する
Name original_foldername As new_foldername
row_num = row_num + 1
i = i + 1
Wend
MsgBox "フォルダ名の変更が完了しました"
End Sub
【VBAソースコード】フォルダ名一括変換
Private Sub CommandButton2_Click()
' 変数宣言
Dim original_foldername As String
Dim new_foldername As String
path_name = Sheets(1).Cells(1, 1) & "\"
row_num = 3
While i < 150
' 変更前及び変更後のファイル名(パス)を変数に代入する
original_foldername = path_name & Sheets(1).Cells(row_num, 4)
new_foldername = path_name & Sheets(1).Cells(row_num, 2)
' ファイル名を変更する
Name original_foldername As new_foldername
row_num = row_num + 1
i = i + 1
Wend
MsgBox "フォルダ名の変更が完了しました"
End Sub
コメント