Ale*_*gro 5 excel vba excel-vba
我想阻止用户使用与打开时相同的名称保存工作簿,并提供SaveAs选项.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ThisWorkbook.Name = "abc" Then
Cancel = True
SaveAsUI = True
End If
Run Code Online (Sandbox Code Playgroud)
也试过了
If ThisWorkbook.Name = "abc" Then SaveAsUI = True
Run Code Online (Sandbox Code Playgroud)
此代码不起作用.SaveAs对话框不会出现.
接下来试试
If ThisWorkbook.Name = "abc" Then ThisWorkbook.ReadOnly = True
'Error - can't assign to read only property.
Run Code Online (Sandbox Code Playgroud)
如果你只想测试一个特定的文件名 - 比如说abc.xlsm下面的代码将停止Save(但是传递SaveAs)然后将ReadOnly属性设置为False,因此Save在此会话中不能再次使用此文件
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Not SaveAsUI Then
If ThisWorkbook.Name = "abc.xlsm" Then
Cancel = True
ThisWorkbook.ChangeFileAccess Mode:=xlReadOnly
End If
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10782 次 |
| 最近记录: |