相关疑难解决方法(0)

AskToUpdateLinks=False 和 UpdateLinks:=0 的区别

我遇到了运行 Excel 宏的情况。我试图摆脱这个对话框:https://drive.google.com/open?id=0BzzXkoIWuMAHOF9oV1o5dmFhcWc

当我四处探索时,我发现对话框不会定期弹出,这样我就不需要每次都点击取消按钮。

以前,部分代码是这样的:

 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,它通过了,但它迫使我在弹出的对话框中单击“取消”。

我知道我哪里错了。目标文件名的变量无故放错了!

excel vba

1
推荐指数
1
解决办法
7135
查看次数

尝试打开工作簿时的 VBA 错误处理

我正在尝试遍历文件夹中的所有文件,打开它们并删除文档信息。我在处理无法打开的文件时遇到问题,或者在打开时遇到有关禁用宏的问题。我尝试使用 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)

error-handling excel vba

0
推荐指数
1
解决办法
2万
查看次数

标签 统计

excel ×2

vba ×2

error-handling ×1