gpt4 book ai didi

vba - 从 Access 中以编程方式打开的 Excel 工作表中删除 protected View

转载 作者:行者123 更新时间:2023-12-02 14:38:51 25 4
gpt4 key购买 nike

我有一个电子表格,我使用 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

我在子项中添加了“If”语句,因为我希望它能够删除“ protected View - 由于信任中心中的文件阻止设置,不建议编辑此文件类型”消息。我想要实现的是删除“启用编辑”按钮,以便该宏可以启用编辑并按计划运行。

目前,代码位于“Set wb”行。实现我所追求的目标的正确方法是什么?

最佳答案

一种可能是在打开 Excel 工作簿之前以编程方式将宏安全设置更改为最低。操作数据后,重新启用之前的宏安全设置。

这是我在 http://www.mrexcel.com/forum/excel-questions/631545-change-trust-center-settings-visual-basic-applications.html 找到的一些修改后的代码:

Public Sub MySubroutine()
Dim lSecurity As Long

lSecurity = Application.AutomationSecurity
Application.AutomationSecurity = msoAutomationSecurityLow

'''''''''''''''''''''
' Run code here '
'''''''''''''''''''''

Application.AutomationSecurity = lSecurity
End Sub

顺便说一句,VBA 将 Integer 实现为 Long,因此声明 Integer 变量实际上可能会稍微降低性能,因为它必须重新解释 Integer 关键字。当我了解到这一点时,我开始将 Integer 声明为 Long。我实际上在一些 Microsoft 文档中读过此内容,但几年前我丢失了它的链接。

关于vba - 从 Access 中以编程方式打开的 Excel 工作表中删除 protected View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25889742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com