VBA错误1004抱歉,我们找不到

时间:2016-09-28 17:46:09

标签: vba path find

我收到以下代码的上述错误:

            Dim location_results As String
            location_results = Worksheets("merging").Range("B1").Text 'absorbing the initial computation results folder
            file_results = Dir$(location_results & "\" & "*" & NBDID & "*" & ".*") 'checks if there is a file with NBDID in the "location results folder
            If (Len(file_results) > 0) Then
                Worksheets("list").Range("D" & i).Value = file_results                         
            Else
                MsgBox (NBDID & " result not found")
            End If

            'problem todoB:
lineD:
            Dim shortlocation As String
            shortlocation = ThisWorkbook.Path & "\megaresults\" & file_results
On Error GoTo lineD
                'Workbooks(shortlocation).Open
                Set InputFile = Workbooks.Open(FileName:=shortlocation)
                'Set InputFile = Workbooks.Open(location_results & file_results)
                Set OutputFile = Workbooks.Open(location_merger & file_merger)
                On Error GoTo 0

该行提出错误:

                Set InputFile = Workbooks.Open(location_results & file_results)

并在线:

                Set InputFile = Workbooks.Open(FileName:=shortlocation)

现在谷歌搜索该错误,几乎每个人都有一个问题,他们试图打开的文件不在parent-workbook文件夹中,或者他们没有预先设置文件规范的路径。

我已经这样做了,并且路径已经过验证,我手动检查文件是否在文件夹中,以及:

            If (Len(file_results) > 0) Then
                Worksheets("list").Range("D" & i).Value = file_results                         
            Else
                MsgBox (NBDID & " result not found")
            End If

,文件存在,包括文件名和扩展名在内的总路径长度为222个字符。它还包含空格。

但我找不到任何理由将其作为错误返回。最重要的是,on error goto lineD不起作用,它仍会弹出一条不允许继续代码的消息。

有人可以向我指出我的错误,或者给我一个可行的解决方案吗?

亲切的问候。

0 个答案:

没有答案