簡體   English   中英

Excel VBA中的自動saveloop

[英]Automatic saveloop in Excel VBA

所以我有這段代碼,打開后每30分鍾保存一次Excel文件。 效果很好,但是當打開數據庫文件時,Excel文件被鎖定並且無法保存。 循環中斷,我必須重新啟動excel文件才能使其再次工作。 任何人都有解決方案嗎? 這是代碼btw:

Private Sub workbook_open()
Application.OnTime Now + TimeValue("00:30:00"), "SaveWb"

End Sub

Sub SaveWb()
Workbooks("Shared.xlsm").Save
Application.OnTime Now + TimeValue("00:30:00"), "SaveWb"

On Error Resume Next

End Sub

此代碼解決了我的問題,您可以用自己的文件路徑替換。

Public Function FileInUse(sFileName) As Boolean
On Error Resume Next
Open sFileName For Binary Access Read Lock Read As #1
Close #1
FileInUse = IIf(Err.Number > 0, True, False)
On Error GoTo 0
End Function


Sub SaveWb()
myFilePath = "\\server\Klaverkaas Algemeen\Database Access\BackEnd\Database Klaverkaas klein.accdb"
If FileInUse(myFilePath) Then
    Application.OnTime Now + TimeValue("01:00:00"), "SaveWb"
Else
    Workbooks("Shared.xlsm").Save
    Application.OnTime Now + TimeValue("01:00:00"), "SaveWb"
End If
End Sub

並在myworkbook中使用它

Private Sub workbook_open()
Application.OnTime Now + TimeValue("01:00:00"), "SaveWb"

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM