​VBA:简单一招禁用工作簿【另存为】功能-操作方法步骤优质

编辑:周舟 | 时间:2024-01-26 14:33:06
来源:互联网
正文
编辑推荐
禁用工作簿另存为的功能需要借助于Workbook的”BeforeSave“事件工具,首先判断出用户是否触发了另存为的功能,直接通过”SaveAsUI“参数值就可以进行判断,如果用户执行了另存为的动作,就可以进行拦截,加了断点的代码行,就是进行另存为的判断方法,如果显示的是TRUE则表示中断并跳出另存为的动作,将断点取消之后,再多次点击另存为进行验证。
需要使用的工具:任意品牌的电脑,Windows 10,Excel 2016。 
VBA禁用工作簿【另存为】功能的操作方法步骤:
1. 在Excel工作表中,对于一些重要的文件,为了防止在保存时出现版本混乱的问题,都会要求在保存时只能保存一个文件名,想要实现这一目标可以通过宏工具,将工作表中另存为的功能禁用。
2. 想要禁用定存为的功能,首先要在电脑当中找到需要编辑的Excel文档,将Excel文档打开,借用workbook的before save事件,判断用户是否选择了另存为的功能,这一功能可以通过SaveASUI的参数进行判断。
3. 移动鼠标的光标在顶端菜单栏点击开发工具这一按钮。然后在开发工具下方的菜单栏当中找到红这一选项。使用鼠标单击红选项,面上就会弹出相应的设置页面。在弹出页面当中查看代码参数。具体的代码为:
4. Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  If SaveAsUI = True Then Cancel = True End Sub
5. 如果代码中If SaveAsUI = True 则表示保存的动作中断,如果Cancel = True不会跳出保存这个动作。 
6. 按Alt+F11,打开VBA编辑器,在“工程”窗口中双击“ThisWorkBook”,在右侧的代码窗口中输入下列代码:
Private Sub workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
Dim response As Long
If SaveAsUI = True Then
response = MsgBox("该工作簿不允许用“另存为”来保存," & _
"你要用原工作簿名称来保存吗? ", vbQuestion + vbOKCancel)
Cancel = (response = vbCancel)
If Cancel = False Then Me.Save
Cancel = True End If End Sub
7. 关闭VBA编辑器,保存工作簿。如果是Excel2007,需保存为xlsm格式。这样这个工作簿就会只能使用保存的命令,进行保存而不支持另存为的命令。
 
查看全部
收到7294个赞