我收到以下代码的上述错误:
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不起作用,它仍会弹出一条不允许继续代码的消息。
有人可以向我指出我的错误,或者给我一个可行的解决方案吗?
亲切的问候。