【发布时间】:2014-09-17 11:47:25
【问题描述】:
我有一个电子表格,我使用 Access 中的 VBA 以编程方式打开:
Set xl = CreateObject("Excel.Application")
With xl
Call RunASCFormatting(xl, wb, strPath)
'More code
Sub RunASCFormatting(xl As Excel.Application, wb As Excel.Workbook, strPath As String)
With xl
If .ProtectedViewWindows.count > 0 Then
.ActiveProtectedViewWindow.Edit
End If
Set wb = .Workbooks.Open(Trim(strPath) & "ASC.xls", True, False)
wb.Sheets(1).Rows("1:1").Delete Shift:=xlUp
.ActiveWorkbook.SaveAs FileName:=Trim(strPath) & "ASC.xlsx" _
, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End With
End Sub
我已在 sub 中的“If”语句中添加,因为我希望它会删除“受保护的视图 - 由于信任中心中的文件阻止设置,不建议编辑此文件类型”消息。我想要实现的是去掉“启用编辑”按钮,这样这个宏就可以启用编辑并按计划运行。
目前,代码位于“Set wb”行。实现我所追求的正确方法是什么?
【问题讨论】:
-
删除受保护的视图需要用户权限。如果有一种方法可以在没有用户干预的情况下实用地删除它,那将是安全漏洞。
-
我很确定我已经完成了。我不担心这里的安全问题,因为这纯粹是为我和一位同事完成的。