当工作表不受保护时清除数据

Posted

技术标签:

【中文标题】当工作表不受保护时清除数据【英文标题】:Clear data when a sheet is unprotected 【发布时间】:2021-11-17 08:03:33 【问题描述】:

我有一个带有密码保护工作表的 Excel 文件。如果有人能够破解密码或以某种方式取消保护该工作表,我希望自动删除其中的所有数据。我怎么做?谢谢!

【问题讨论】:

嗨 Jaja,您应该知道,可以破解密码的人可能知道如何绕过删除数据的宏。 请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:

这是我的代码,它可以删除未受保护的工作表

    Private Sub Workbook_Open()

    ThisWorkbook.Worksheets("Sheet1").Activate
    If ActiveSheet.ProtectContents = True Then
        MsgBox "Protected"
     Else
        MsgBox "Not protected"
     ThisWorkbook.Worksheets("Sheet1").Delete
     End If
End Sub

把它放在这个工作簿模块上,它应该工作得很好。 我在 Windows 10 上使用 Office 2016

【讨论】:

如果工作簿中只有一张工作表,这将不起作用,因为工作簿必须包含至少一个可见的工作表。如果只有一张纸,请考虑改用ThisWorkbook.Worksheets("Sheet1").Cells.ClearContents 谢谢汤姆和埃尔隆德。非常感谢!

以上是关于当工作表不受保护时清除数据的主要内容,如果未能解决你的问题,请参考以下文章

在应用程序退出时清除数据

“清除数据”也会杀死应用程序吗?

通过 ARM 模板部署 Azure ML MSI 可在 Key Vault 上启用清除保护

注销时flutter_facebook_auth插件未清除数据

恶意软件防护以及清除指南

当应用程序移动到后台时,android是不是会清除视图中的数据?