hiko-blog

VBA業務改善

MENU

VBSにて、ファイル名の名前を一部削除して、指定フォルダへ移動

Set objFSO = CreateObject("Scripting.FileSystemObject")

' ソースフォルダのパスを指定
sourceFolder = "C:\パス\から\あなたの\ソース\フォルダ"
'スクリプトが配置されているフォルダをソースフォルダとして指定
'scriptFolder = Replace(WScript.ScriptFullName, WScript.ScriptName, "") sourceFolder = scriptFolder

' 宛先フォルダのパスを指定
destinationFolder = "C:\パス\から\あなたの\宛先\フォルダ"

' ファイルをリネームして移動するサブルーチン
Sub RenameAndMoveFiles(folderPath)
    Set folder = objFSO.GetFolder(folderPath)

    ' フォルダ内の各ファイルに対して処理
    For Each file In folder.Files
        ' ファイルがPDFかどうかを確認
        If LCase(objFSO.GetExtensionName(file.Path)) = "pdf" Then
            ' "_Name"の部分を削除
            newName = Replace(objFSO.GetBaseName(file), "_Name", "") & ".pdf"
            
            ' 新しいファイルパスを構築
            newFilePath = objFSO.BuildPath(destinationFolder, newName)
            
            ' ファイルを宛先フォルダに移動
            objFSO.MoveFile file.Path, newFilePath
        End If
    Next
End Sub

' ソースフォルダを対象にサブルーチンを呼び出す
RenameAndMoveFiles sourceFolder

' 操作が完了したことを示すメッセージを表示
WScript.Echo "ファイルが正常にリネームおよび移動されました。"