Wordで履歴付き上書き保存をするマクロ

以前、Excelのファイル名に日時を付けて保存するマクロを紹介しました。
ファイルを上書き保存する際に別途、日時を付けたファイルを保存することで「うっかり上書き」を防ぎます。
今回はこれのWord版を作りました。

Sub 履歴付き上書き保存()
    Const datetime = "_yyyymmdd_hhmmss"
    Const myfolder = "C:\trash\"
    Dim oldpath, oldfn, newfn, pos
    ActiveDocument.Save
    oldpath = ActiveDocument.path
    oldfn = ActiveDocument.Name
    pos = InStrRev(oldfn, ".")
    newfn = myfolder _
        & left(oldfn, pos - 1) _
        & Format(Now(), datetime) _
        & Right(oldfn, Len(oldfn) - pos + 1)
    ActiveDocument.SaveAs FileName:=newfn
    ActiveWindow.Close
    Documents.Open FileName:=oldpath & "\" & oldfn
End Sub

コメント

タイトルとURLをコピーしました