簡體   English   中英

保護VBA Excel免受他人保存

[英]Protect VBA Excel from saving by others

我試圖保護我的Excel VBA,防止其他人也在使用我的宏進行保存。 我嘗試使用以下代碼,但無法正常工作。 我想防止其他人在關閉之前以及使用Ctrl + S進行保存時保存VBA Excel。

Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If Not SaveAsUI Then
        Cancel = True
        MsgBox "You cannot save this workbook"
    End If
End Sub

我正在使用Excel 2019,但無法重現您的問題。 該代碼按預期工作。 如果按“ 保存 ”,則會顯示消息框,但不會保存。 如果我關閉工作簿,它會詢問我是否要保存,如果按“ 保存”,我會再次收到消息框,但它不保存。

但是您可以嘗試使用ThisWorkbook.Saved = True添加Workbook_BeforeClose事件,以使VBA相信該工作簿已被保存。 這樣可以避免在關閉工作簿時詢問您是否要保存的消息框。

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ThisWorkbook.Saved = True
End Sub

Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If Not SaveAsUI Then
        Cancel = True
        MsgBox "You cannot save this workbook"
    End If
End Sub

暫無
暫無

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

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