Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 打开文件时的错误处理_Vba_Excel_Excel 2010 - Fatal编程技术网

Vba 打开文件时的错误处理

Vba 打开文件时的错误处理,vba,excel,excel-2010,Vba,Excel,Excel 2010,我有以下代码: 子补丁() 当一个文件找不到时,我只希望cofe继续处理下一个文件,因此我将“一个错误转到下一个日期”,但它不起作用。我仍然会弹出“未找到文件”和“调试”弹出窗口。一定是我遗漏了什么。使用以下模式: Sub patch() Dim r As Long, j As Long, c As Long Dim myDay As Long, myMonth As Long, myYear As Long Dim wb As Workbook Applic

我有以下代码:

子补丁()

当一个文件找不到时,我只希望cofe继续处理下一个文件,因此我将“一个错误转到下一个日期”,但它不起作用。我仍然会弹出“未找到文件”和“调试”弹出窗口。一定是我遗漏了什么。

使用以下模式:

Sub patch()

    Dim r As Long, j As Long, c As Long
    Dim myDay As Long, myMonth As Long, myYear As Long
    Dim wb As Workbook

    Application.DisplayAlerts = False       

    myYear = 2014

    For myMonth = 2 To 2 Step -1    
        For myDay = 12 To 1 Step -1

            On Error Resume Next
            Set wb = Workbooks.Open("G:\Manu\PVA\Pmo_Multiprogrammes\10-Process & Tools\00 GESTION DE CHANGEMENT\03 AMÉLIORER\20 Base de données\00 Mproduct\19-Suivi\Suivi du Cseries\rapport quotidien\Suivi Cseries_" & myDay & "_" & myMonth & "_" & myYear & ".xlsm")
            On Error GoTo 0

            If Not wb Is Nothing Then
                '## Do stuff
                wb.Close False
            End If
        Next 'day
    Next 'mont

    Application.DisplayAlerts = True
End Sub

BTW,不要使用带有特定名称的变量,例如
day
month
year
sicne,在这种情况下,具有此名称的VBA函数(
day()
month()
year()
)将不起作用

是的,同样的情况也会发生。它仍然只是调试。我还检查了设置工具->选项->常规->选择未处理错误时中断。看看啊,这也有效,但就像另一个答案一样,只进行了一半。它不会弹出“调试”窗口,但会弹出“未找到文件”的excel窗口。我必须为每个丢失的文件按OK。我也能预防吗?这有一半效果。它不会弹出“调试”窗口,但会弹出“未找到文件”的excel窗口。我必须为每个丢失的文件按OK。我也能阻止吗?@user2385809,现在试试。它不会为您显示任何消息me@user2385809,
,但它确实会弹出一个excel弹出窗口,显示“未找到文件”
——我认为这与您未包含的代码有关。我当前的代码无法触发任何弹出消息。请显示完整代码
Sub patch()

    Dim r As Long, j As Long, c As Long
    Dim myDay As Long, myMonth As Long, myYear As Long
    Dim wb As Workbook

    Application.DisplayAlerts = False       

    myYear = 2014

    For myMonth = 2 To 2 Step -1    
        For myDay = 12 To 1 Step -1

            On Error Resume Next
            Set wb = Workbooks.Open("G:\Manu\PVA\Pmo_Multiprogrammes\10-Process & Tools\00 GESTION DE CHANGEMENT\03 AMÉLIORER\20 Base de données\00 Mproduct\19-Suivi\Suivi du Cseries\rapport quotidien\Suivi Cseries_" & myDay & "_" & myMonth & "_" & myYear & ".xlsm")
            On Error GoTo 0

            If Not wb Is Nothing Then
                '## Do stuff
                wb.Close False
            End If
        Next 'day
    Next 'mont

    Application.DisplayAlerts = True
End Sub