如果某个工作簿需要由多人合作,分不同的阶段完成,为了避免其中的某个用户将文件另存为其他文件名而影响下一个使用者,可以用VBA代码禁止用户使用“另存为”来保存工作簿。方法如下:
??? 1.按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
??? 2.关闭VBA编辑器,保存工作簿。如果是Excel 2007,需保存为xlsm格式。
??? 这样,该工作簿只允许通过“保存”命令来保存,当执行“文件→另存为”命令时,将出现不允许使用“另存为”的提示。
???
??? 单击“确定”按钮将在原文件夹用原名称来保存工作簿,单击“取消”按钮则取消本次操作。
……