返回列表 上一主題 發帖

Excel檔案閒置過久自動存檔案結束

Excel檔案閒置過久自動存檔案結束

各位:
由於有些Excel檔案是和多人共用,但有時忘記關閉以至其他人不能開啟,請問如何用VBA解決例如當檔案已經閒置5分鐘程式會自動存檔和結束檔案。

回復 1# mmggmm
試試看
ThisWorkbook模組的程式碼
  1. Option Explicit
  2. Dim Msg_Time As Date
  3. Const 間隔 = #12:01:00 AM#       '閒置5分鐘
  4. Private Sub Workbook_Open()
  5.     Msg_Time = Time + 間隔       '紀錄: 閒置時間
  6.     Application.OnTime Msg_Time, "THISWORKBOOK.Close_Me" '閒置時間到,執行關閉檔案程式(Close_Me)
  7. End Sub
  8. Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  9.     '任意工作表有動作
  10.     Application.OnTime Msg_Time, "THISWORKBOOK.Close_Me", , False '取消 執行關閉檔案程式(Close_Me)
  11.     Workbook_Open
  12. End Sub
  13. Private Sub Close_Me()
  14.     Me.Close True '閒置時間到,關閉檔案
  15. End Sub
複製代碼

TOP

GBKEE你好!
其中Const 間隔 = #12:01:00 AM# 和平時用TimeValue="00:01:00"分別在那裡,謝謝.

TOP

本帖最後由 luhpro 於 2012-9-27 22:24 編輯
GBKEE你好!
其中Const 間隔 = #12:01:00 AM# 和平時用TimeValue="00:01:00"分別在那裡,謝謝.
mmggmm 發表於 2012-9-27 20:53

#12:01:00 AM# 以時間為單位來計算增量值, 賦予 Ontime 的是時間表示量.
"00:01:00" 用字串形式來表示, 需 欲比較的目前時間字串內容 與 指定的時間增量後結果字串 完全相同才觸發動作.

補充 GBKEE 發表於 2012-9-27 17:20 #1 的內容可能需做個調整:
03.Const 間隔 = #12:01:00 AM#       '閒置5分鐘
改為
Const 間隔 = #12:05:00 AM#       '閒置5分鐘
或
Const 間隔 = #12:01:00 AM#       '閒置1分鐘
皆可

TOP

解釋詳盡,勞煩了。

TOP

大大:
試用結果當用表工作時出現以下錯誤.
on time.JPG

TOP

回復 6# mmggmm
2# 的程式碼 全部是ThisWorkbook模組的程式碼

TOP

問題已解決,謝謝.

TOP

大大:
on time.JPG 訊息
  在自己電腦上開啟是没有出現.
  當放在網絡硬盤上開啟就出現,請問原因何在。

TOP

        靜思自在 : 盡多少本份,就得多少本事。
返回列表 上一主題