Step28:変換元の更新日時とサイズが変換先ファイルと同じなら変換しない|Excel VBA

画像ファイルの縦横サイズを取得するために、処理時間がかかるようになりました。そのため全部変換しないで、元ファイルが更新されている場合のみ変換するようにします。

変換元ファイルの更新日時とサイズはFileSystemObjectで取得します。

AMPファイルには、元ファイルの更新日時とサイズを挿入していますのでそれと比較します。

AMP変換ソフト作成 メニューへ

スポンサーリンク





ファイルの更新日時とサイズを比較するVBA

変換元の情報はファイル名の隣のセルに挿入しています。


更新日時とサイズを比較するVBAです。
更新日時とサイズを比較するVBA

・引数はAMPファイル名、更新日時、ファイルサイズになっています。
・ファイルの存在確認を行います。
・<!-- Modified:を検索し更新日時を取り出します。
・更新日時が同じなら、<!-- Size:を検索しサイズを取り出します。
・すべて同じならTrueを返し、そうでなければFalseを返します。

Private Function MyAmpFileCheck(fname As String, td1 As Date, ls1 As Long)
    Dim ln1 As Long
    Dim ln2 As Long
    Dim td2 As Date
    Dim ls2 As Long
        
    MyAmpFileCheck = False
    
    If ExDir(fname, vbNormal) <> "" Then
        ExUtfRead fname
        ln1 = InStr(1, sUtfBuf, "<!-- Modified:")
        If ln1 > 0 Then
            ln2 = InStr(ln1 + 1, sUtfBuf, ">")
            td2 = Mid(sUtfBuf, ln1 + 14, ln2 - ln1 - 16)
        
            If td1 = td2 Then
                ln1 = InStr(1, sUtfBuf, "<!-- Size:")
                If ln1 > 0 Then
                    ln2 = InStr(ln1 + 1, sUtfBuf, ">")
                    ls2 = Mid(sUtfBuf, ln1 + 10, ln2 - ln1 - 12)
                    If ls1 = ls2 Then
                        MyAmpFileCheck = True
                    End If
                End If
            End If
        End If
    End If
    
End Function

スポンサーリンク






AMP変換ソフト作成 メニューへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved