当工作表不受保护时清除数据
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 上启用清除保护