打开文档时,它表示要查看它,我必须启用受保护视图的编辑。
我希望在检测到该文件时关闭该文档,直到删除该Excel配置为止。
此过程是否有任何小的VBA功能?
错误91在变量对象运行时发生,未设置块]
If Application.ProtectedViewWindows.Count > 0 Then
ActiveWorkbook.Close savechanges:=False
Application.Quit
Else
End If
整个ActiveWorbook代码
Private Sub Workbook_Open()
Dim hoja As Worksheet
For Each hoja In ThisWorkbook.Worksheets
hoja.Visible = xlSheetVisible
Next hoja
If Application.ProtectedViewWindows.Count > 0 Then
ActiveWorkbook.Close savechanges:=False
Application.Quit
Else
End If
If Not VBATrusted() Then
Application.Visible = False
MsgBox "Aviso. Ya no puedes usar este archivo. Comunícate con el desarrollador Arq. Luis Eduardo Ramírez Aguayo [email protected] Cel. +(52) 415.151.102"
ActiveWorkbook.Close savechanges:=False
Application.Quit
End If
Sheets("Hoja1").Visible = xlVeryHidden
'----------------------------------------------------------------'
Application.Visible = False
UserForm1.Show
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim hoja As Worksheet
Sheets("Hoja1").Visible = xlSheetVisible
For Each hoja In ThisWorkbook.Worksheets
If hoja.Name <> "Hoja1" Then
hoja.Visible = xlSheetVeryHidden
End If
Next hoja
'----------------------------------------------------------------'
Sheets("HojaEscondida").Range("A4") = "admin"
Sheets("HojaEscondida").Range("A4") = "admin"
Application.DisplayAlerts = False
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI Then
MsgBox "NO SE PUEDE GUARDAR COMO." & Chr(10) _
& "Guarde el original, usando el icono guardar," & Chr(10) _
& "o simplemente use la x de cerrar, y se guardará" & Chr(10) _
& "automáticamente en el lugar correcto", vbCritical
Cancel = True
End If
End Sub
Function VBATrusted() As Boolean
On Error Resume Next
VBATrusted = (Application.VBE.VBProjects.Count) > 0
End Function
尝试这个。
希望有帮助
Protected View是一项安全功能,它禁用宏和文件编辑。如果您可以在受保护的视图中运行VBA代码,那将是一个安全漏洞。因此,您不能在受保护的视图中运行任何代码。
如@Pᴇʜ所说,您只能通过隐藏所有工作表来解决此问题,除非其中一个工作表说必须禁用受保护的视图并在启用宏时取消隐藏工作表。但是,您应该在Workbook_BeforeSave
处执行此操作,因为有些人将其保存在中间,但最后不保存,因此下次打开工作表时不会将其隐藏。