[英]Save Excel file in every 2 second without using macro
我想每2秒保存一次Excel。 數據通過DDE在此excel中更新,並且希望每2秒讀取一次此數據。 不幸的是,這些數據沒有保存在硬盤上。
我知道可以在指定的時間點后用於保存文件的宏,但不想使用宏。
由於此表中的數據通過DDE頻繁更新(每100 MS),因此表更改事件觸發得太頻繁。
以下是我嘗試但未成功的代碼。
Dim ctme, ptme As Integer
Private Sub Workbook_Open()
ctme = Second(Now)
ptme = ctme - 2
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
ctme = Second(Now)
If (ctme - ptme) = 2 Then
Me.Save
ptme = ctme
End If
End Sub
請幫忙
Nidhi,這里的人們正在努力為您提供幫助,您需要了解的是,沒有人能動腦筋來理解您實際要問的問題。 因此,在提出任何答案之前先提出問題以清楚地理解問題是很自然的。 當這里的人們無法理解一個簡單的問題時,他們同樣會感到沮喪,他們的時間本來可以很容易地節省下來,但如果他們花一些額外的時間來更好地說明問題的話。 因此,給予那些試圖幫助您的人以信譽,將不會造成任何傷害。
好,回到您的問題。 我可能是錯的,但我認為在DDE更新時不會觸發SheetChange事件。 如果我錯了,請糾正我。
下一個選項可以是Application.OnTime功能。
在工作簿打開方法中編寫以下代碼:
Private Sub Workbook_Open()
Dim currentTime As Date
currentTime = DateAdd("s", 2, Now)
Application.OnTime currentTime, "SaveFile"
End Sub
然后添加一個新模塊,並在新模塊中添加以下功能:
Public Sub SaveFile()
ThisWorkbook.Save
Dim currentTime As Date
currentTime = DateAdd("s", 2, Now)
Application.OnTime currentTime, "SaveFile"
End Sub
上面的代碼將創建一個計時器,該計時器每兩秒鍾運行一次以保存文件。 這種方法各有利弊,但這是Excel最好的Timer功能。 如果您有任何疑問,請告訴我。
謝謝,維卡斯
(這完全脫離了OP標簽,但只是以為我提出了一個可能的選擇)
創建一個小型.NET
控制台應用程序。
用戶可以使用其中一個Timer
對象來創建所需的此定時循環。
然后,在每次循環掃描時使用對Excel Interop庫的引用,看起來您可能需要打開此工作簿,保存它,然后再次將其關閉......取決於書中的計算和Excel
文件實際上可以在您的計算機上在2秒內打開/計算/保存嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.