Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


32394 / 76734 ←次へ | 前へ→

【49577】Re:ファイルの更新日時を更新したくない
発言  とよだ  - 07/6/11(月) 19:34 -

引用なし
パスワード
   ▼ハチさん、neptuneさん

お返事ありがとうございます。

どうやら、ファイルを閉じている状態で
FileName="O:\temp\計画書保存\AB\07AA001.xls"
Set FSO = CreateObject("Scripting.FileSystemObject")
LastUpdateDate = FSO.GetFile(FileName).DateLastModified

これだとちゃんと更新日時をとってきます。

いろいろ試したソースです。
'案1(APIを使う)
'  Dim Makedate As Date, AccessDate As Date, LastDate As Date
'  Call LsGetFileTime(FileName, Makedate, AccessDate, LastDate)
※ファイルOPENしていると日付の取得はダメでした。閉じてると取得します。

'案2(関数を使う)
'  Dim LastDate As Date
'  LastDate = FileDateTime(FileName)
'案3("Scripting.FileSystemObject"を使う)
'  Dim FSO
'  Dim LastDate As Date
'  Set FSO = CreateObject("Scripting.FileSystemObject")
'  LastDate = FSO.GetFile(FileName).DateLastModified

どれも、撃沈しました。どれもOPEN日付が好きみたいです。


今回プログラムを変更しなければ、ならないファイルがざっと500弱あり

ハチさんのを見て閃いたのが
「ファイル情報取得(構造体)」のようなマクロを作成しようと思います。
"Scripting.FileSystemObject"を利用して
該当するExcelファイル情報の構造体(ファイル名、更新日時)を用意して
コントロールボタン(マクロ名:SetLastDate)を押下した時に
構造体からファイル名をマッチングして更新日時を取得し
LastUpdateDateにセットしようかと思います。

なんだかちょっと泥臭いソースになってしまいます。(笑

「保存をキャンセルすると前回の更新日時に戻る」って事は、
プロパティか設定がどっかにあるはずなんですよね?
正当な取得方法がわかると便利だと思いますので、
今後の参考にお教え頂くと幸いです。

3 hits

【49561】ファイルの更新日時を更新したくない とよだ 07/6/11(月) 11:10 質問
【49568】Re:ファイルの更新日時を更新したくない neptune 07/6/11(月) 16:44 発言
【49570】Re:ファイルの更新日時を更新したくない とよだ 07/6/11(月) 16:55 発言
【49576】Re:ファイルの更新日時を更新したくない ハチ 07/6/11(月) 18:11 発言
【49577】Re:ファイルの更新日時を更新したくない とよだ 07/6/11(月) 19:34 発言
【49579】Re:ファイルの更新日時を更新したくない yuu1 07/6/11(月) 23:07 回答
【49580】Re:ファイルの更新日時を更新したくない neptune 07/6/11(月) 23:08 発言
【49585】Re:ファイルの更新日時を更新したくない とよだ 07/6/12(火) 9:27 お礼
【49590】Re:ファイルの更新日時を更新したくない とよだ 07/6/12(火) 10:59 お礼

32394 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free