​vba:简单一招禁用工作簿【另存为】功能-pg电子游戏试玩平台网站

​vba:简单一招禁用工作簿【另存为】功能-pg电子游戏试玩平台网站

编辑:周舟 | 时间: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格式。这样这个工作簿就会只能使用保存的命令,进行保存而不支持另存为的命令。
 
查看全部
网站地图