excel - 除非单击命令按钮,否则如何防止保存 Excel 工作簿?
问题描述
我有一个命令按钮来以特定格式保存 Excel 工作簿。
我希望用户无法保存工作簿,除非他们单击该命令按钮。
为了防止使用传统的保存选项,我使用了以下代码:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
MsgBox "You can't save this workbook!"
Cancel = True
End Sub
如果单击命令按钮,如何防止传统的保存选项但允许保存?
解决方案
您可以使用布尔标志来指示是否允许保存,并且仅在调用包含保存工作簿的逻辑的宏时将其设置为 true。
在下面添加以下代码ThisWorkbook
:
Public AllowSave As Boolean
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Not AllowSave Then
MsgBox "You can't save this workbook!"
Cancel = True
End If
End Sub
Public Sub CustomSave()
ThisWorkbook.AllowSave = True
' TODO: Add the custom save logic
ThisWorkbook.SaveAs '....
MsgBox "The workbook has been saved successfully.", , "Workbook saved"
ThisWorkbook.AllowSave = False
End Sub
请注意,您需要将CustomSave
宏分配给将启动自定义保存的按钮。
演示:
推荐阅读
- python - 查找RotatedRect的宽度和高度
- c# - 在 datagridview 组合框中将查询结果显示为默认项
- .htaccess - Yii2 启用 urlManager 时出现 404 错误
- python - pygame中自制的2D碰撞检测不起作用
- java - 暂停所有线程,无需等待
- selenium-webdriver - Selenium PDF 解析器
- python - 从多索引熊猫数据框中引用熊猫系列值
- django - 我应该在 Django 中进行版本控制 manage.py 吗?
- r - 如何用 lp 显示所有可能的解决方案 用 r 解决
- javascript - Redux:Reducer 在新添加时覆盖以前的状态