[[20191015151158]] 『ファイル最終更新日時の取得について』(aramakisake) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ファイル最終更新日時の取得について』(aramakisake)

ファイルの最終更新日時を取得するため、VBE(Visual Basic Editor)を起動して、標準モジュールに

Function LastSaveTime()
Application.Volatile
LastSaveTime =
ThisWorkbook.BuiltinDocumentProperties("Last save time").Value
End Function

と入力して閉じた後、最終更新日時を表示させたいセルで

=LastSaveTime()

と入力したのですが、

#Value!

となってしまい、最終更新日時が表示されません。
どうしたらよいでしょうか?
ちなみにファイル名は「○○.xlsm」、マクロの設定は「すべてのマクロを有効にする」となっています。
よろしくお願いします。

< 使用 Excel:Excel2016、使用 OS:Windows8 >


 こちら Excel2010 で確認しましたが

 新規ブックで未保存だと、#Value! になりますね

 エラートラップして以下のように 修正されたらどうでしょう?

 Function LastSaveTime() As Variant
    Dim r As Variant
    Application.Volatile
    On Error Resume Next
        r = ThisWorkbook.BuiltinDocumentProperties("Last save time").Value
    On Error GoTo 0
    If IsEmpty(r) Then
        LastSaveTime = "False"
    Else
        LastSaveTime = r
    End If
 End Function

(渡辺ひかる) 2019/10/15(火) 15:50


保存していない場合にエラーになっているだけの話なら、エラーを気にせず、今のコードのままでも問題ないと思いますけどね。 使う前には保存するでしょうから。

どうしても、新規ブックで未保存でもなんとかしたい!、というならば、私だったら以下とか。

 Function LastSaveTime() As Variant
    Application.Volatile
    LastSaveTime = "Not Saved"

    On Error Resume Next
    LastSaveTime = ThisWorkbook.BuiltinDocumentProperties("Last save time").Value
    On Error GoTo 0
 End Function
(???) 2019/10/15(火) 17:01

ありがとうございました!
無事、解決出来ました!
(aramakisake) 2019/10/18(金) 16:11

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.