我想预设Excel的 Protect Sheet 对话框。我希望它预设为此屏幕截图:
使用某些预设打开此对话框的一种方法是:
Application.Dialogs(xlDialogProtectDocument).Show arg1:=True
设置/取消设置对话框中的第一个复选框。
根据official documentation,允许的参数是:
contents, windows, password, objects, scenarios
某些反复试验并未显示是否可以预设底部列表中的复选框。
这可能吗?如果是,怎么样?
答案 0 :(得分:0)
正如注释中的lturner所注意到的,对话框会记住以前使用的设置。此 包括通过VBA设置表单保护时使用的设置。因此,在使用
打开对话框之前,通过VBA设置+取消设置保护Application.ThisWorkbook.Sheets(1).Protect AllowFormattingCells:=True
Application.ThisWorkbook.Sheets(1).Unprotect
Application.Dialogs(xlDialogProtectDocument).Show
会生成所需的复选框。
official documentation page上提供了.Protect
方法的所有可能选项的列表。
这是一个丑陋的解决方案,因为它有副作用(片材在此过程中很快受到保护)并且基于副作用。因此,我现在不接受这个答案。欢迎提出更好的答案并接受。