ブックの更新日時を変更(FSO使用)

Sub prcChangeMultipleFileDates()
    Dim objFSO As Object  ' FileSystemObjectのインスタンス
    Dim objFile As Object ' 各ファイルのオブジェクト
    Dim varFile As Variant ' 配列内のファイル名
    Const strChangeDate As String = "2024-02-25 12:34:56" ' ★変更する日時(定数)
    
    ' ★変更対象のファイルパスを変数に格納
    Dim strPath1 As String, strPath2 As String, strPath3 As String
    strPath1 = "C:\Path\To\File1.xlsx"
    strPath2 = "C:\Path\To\File2.xlsx"
    strPath3 = "C:\Path\To\File3.xlsx"

    ' 変数を配列に格納
    Dim arrFilePaths As Variant
    arrFilePaths = Array(strPath1, strPath2, strPath3)

    ' FileSystemObjectを作成
    Set objFSO = CreateObject("Scripting.FileSystemObject")

    ' 配列内のファイルを順番に処理
    For Each varFile In arrFilePaths
        If objFSO.FileExists(varFile) Then
            ' ファイルオブジェクトを取得
            Set objFile = objFSO.GetFile(varFile)

            ' 更新日時を変更
            objFile.DateLastModified = strChangeDate

            ' オブジェクト解放
            Set objFile = Nothing
        Else
            MsgBox "ファイルが見つかりません: " & varFile, vbExclamation
        End If
    Next varFile

    ' オブジェクト解放
    Set objFSO = Nothing

    MsgBox "すべてのファイルの更新日時を変更しました!", vbInformation
End Sub

コメント