当我四处探索时,我发现对话框不会定期弹出,这样我就不需要每次都点击取消按钮。
以前,部分代码是这样的:
Application.AskToUpdateLinks = False
Application.DisplayAlerts = False
Workbooks.Open Filename:=FullFileName
Run Code Online (Sandbox Code Playgroud)
成功的代码是这样的:
Application.DisplayAlerts = False
Workbooks.Open Filename:=FullFileName, UpdateLinks:=0
Run Code Online (Sandbox Code Playgroud)
那么Application.DisplayAlerts = False和将updatelinks:=0放在工作簿对象的末尾有什么区别?
新编辑(8/10/2017):
当我再次运行宏时,不知何故出现错误!
我有
Application.Calculation = xlCalculationManual
Application.AskToUpdateLinks = False
Application.ScreenUpdating = False
Workbooks.Open FileName:=FullFileName, UpdateLinks:=0
Run Code Online (Sandbox Code Playgroud)
和宏给我一个错误
运行时错误“9”:下标超出范围
我不知道为什么。
当我删除时UpdateLinks:=0,它通过了,但它迫使我在弹出的对话框中单击“取消”。
我知道我哪里错了。目标文件名的变量无故放错了!
我正在尝试遍历文件夹中的所有文件,打开它们并删除文档信息。我在处理无法打开的文件时遇到问题,或者在打开时遇到有关禁用宏的问题。我尝试使用 on error resume next 和 on error goto 0 来解决这个问题。但是后来我遇到了运行时失败,因为当我尝试关闭打开的文件时,我的工作簿对象 (wb) 尚未设置。
我已经阅读了关于“On Error Resume Next”和“On error goto 0”的文档,但我不相信我在这里正确使用它们。非常感谢任何帮助,谢谢。
Option Explicit
Sub test_Scrubber_New()
Dim directory As String, fileName As String, i As Variant, wb As Workbook
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'directory = "C:\Users\bayli\Desktop\Files for Testing\"
directory = "C:\Users\bayli\Desktop\excel files\"
fileName = Dir(directory & "*.xl??")
i = 0
Do While fileName <> ""
On Error Resume Next
Set wb = Workbooks.Open(directory & fileName)
On Error GoTo 0
'remove …Run Code Online (Sandbox Code Playgroud)