返回列表 上一主題 發帖

[發問] Excel 2007 自動另存新檔

[發問] Excel 2007 自動另存新檔

各位先進好

請問如何Excel 2007 根據時間來自動另存新檔

小弟想用在報表上面

比如說到下午五點就自動另存一個新的檔案

請問撰寫,謝謝。

本帖最後由 luhpro 於 2013-12-5 23:55 編輯

回復 1# macacajau
舉一個最陽春的例子:
以下程式放在 Module1 內
  1. Sub AutoSave()
  2.   ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & Format(Now, "yyyymmdd") & ".xls"
  3. End Sub
複製代碼
以下程式放在 ThisWorkbook 的 Open 內
  1. Private Sub Workbook_Open()
  2.   Application.OnTime TimeValue("17:00:00"), "Module1.AutoSave"
  3. End Sub
複製代碼
AutoSave.zip (6.15 KB)

有個關鍵是你這個 Excel 檔案必須一直保持開啟著,
萬一沒留意不小心關掉了這個檔案就不會存檔了.

TOP

回復 2# luhpro

感謝大哥的回覆,我在嘗試看看~
但是小弟不能下載附件~
可以寄到我信箱給我嗎?
macacajau@gmail.com

謝謝你~
你好

TOP

以下是測試出來的方式,這方法不知道穩不穩定,也希望有前輩可以指導,新手學習中...

在工作表1 or ThisWorkbook下:
Private Sub CommandButton1_Click()
startTimer
End Sub

Private Sub CommandButton2_Click()
stopTimer
End Sub

在模組當中:
Sub startTimer()
Application.OnTime Now + TimeValue("00:00:01"), "Increment_count"
End Sub

Sub Increment_count()
hiji = Now()
Range("A1") = hiji

WaitSec = 30 '延遲時間

NameOfThisProcedure = "儲存程序"

NextTime = hiji + TimeSerial(0, 0, WaitSec)

Application.OnTime EarliestTime:=NextTime, Procedure:=NameOfThisProcedure, LatestTime:=NextTime

startTimer
End Sub

Sub 儲存程序()
  ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & Format(Now, "yyyymmdd") & ".xls"
End Sub
自動儲存裝置.rar (21.8 KB)
初新者~指教囉~

TOP

回復 3# macacajau

您好,2F前輩的程式碼僅複製上去執行就有效果。
初新者~指教囉~

TOP

回復 5# wl02353427


  大大你好~

請問程式放在 ThisWorkbook 的 Open 內

這是甚麼意思呢?

我測試之後不會自動存檔~

謝謝~
你好

TOP

本帖最後由 wl02353427 於 2013-12-6 11:53 編輯

回復 6# macacajau
應該可以直接複製以下使用,那個時間只是確認他有沒有在動而已...
Sub Increment_count()
hiji = Now()
Range("A1") = hiji

WaitSec = 30 '延遲時間

NameOfThisProcedure = "儲存程序"

NextTime = hiji + TimeSerial(0, 0, WaitSec)

Application.OnTime EarliestTime:=NextTime, Procedure:=NameOfThisProcedure, LatestTime:=NextTime

startTimer
End Sub

Sub 儲存程序()
  ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & Format(Now, "yyyymmdd") & ".xls"
End Sub

   
初新者~指教囉~

TOP

回復 7# wl02353427


大大你好~

請問那兩個都是要寫程式嗎?

這樣就會自動另存一個新檔嗎?

以下程式放在 ThisWorkbook 的 Open 內
Private Sub Workbook_Open()
  Application.OnTime TimeValue("17:00:00"), "Module1.AutoSave"
End Sub

感謝大大的回覆~ 謝謝!
你好

TOP

        靜思自在 : 【時間無法遮擋】怕時間消逝,花了許多心血,想盡各式方法要遮擋時間,結果是:浪費了更多時間,且一無所成!
返回列表 上一主題