Board logo

標題: Excel檔案閒置過久自動存檔案結束 [打印本頁]

作者: mmggmm    時間: 2012-9-26 23:31     標題: Excel檔案閒置過久自動存檔案結束

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

回復 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
複製代碼

作者: mmggmm    時間: 2012-9-27 20:53

GBKEE你好!
其中Const 間隔 = #12:01:00 AM# 和平時用TimeValue="00:01:00"分別在那裡,謝謝.
作者: luhpro    時間: 2012-9-27 22:22

本帖最後由 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分鐘
皆可
作者: mmggmm    時間: 2012-9-27 23:30

解釋詳盡,勞煩了。
作者: mmggmm    時間: 2012-9-28 10:13

大大:
試用結果當用表工作時出現以下錯誤.
[attach]12619[/attach]
作者: GBKEE    時間: 2012-9-28 16:12

回復 6# mmggmm
2# 的程式碼 全部是ThisWorkbook模組的程式碼
作者: mmggmm    時間: 2012-9-28 23:50

問題已解決,謝謝.
作者: mmggmm    時間: 2012-9-30 23:33

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




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)