2016-08-01 194 views
0

我有打開工作簿,拉取關鍵信息並關閉它們的應用程序的代碼。我可以看到工作簿加載但是當它即將開啓我得到的運行時錯誤1004,說excel打開只讀工作簿時,對象「工作簿」的「打開」方法失敗錯誤

法「打開」對象「工作簿」失敗

我的代碼如下,當我調試它帶我到二號線下做while語句:

Sub OEEsummmary() 
Dim Gcell As Range 
Dim MySheet As Worksheet 
Dim Txt$, MyPath$, MyWB$ 
Dim myValue As Integer 
Dim x As Long 
Dim v As Variant, r As Range, rWhere As Range 

MyPath = "L:\Manufacturing Engineering\Samuel Hatcher\" 
x = 2 
Set MySheet = ActiveSheet 

Application.ScreenUpdating = False 

Do While MySheet.Range("A" & x).Value <> "" 
    MyWB = MySheet.Range("A" & x).Text 
    Workbooks.Open Filename:=MyPath & MyWB, ReadOnly:=True, IgnoreReadOnlyRecommended:=True 
    Set Gcell = ActiveSheet.Range("E21") 
     With MySheet.Range("A" & x) 
      .Offset(0, 7).Value = Gcell.Value 
     End With 
    ActiveWorkbook.Close savechanges:=False 
    x = x + 1 
Loop 

End Sub 

我試圖改變不同定義的變量與變種按照其他人誰有同樣的問題,但毫無效果的說明。任何幫助非常感謝,謝謝!

更新*我將兩個文件名移到了列表底部,其他文件名都打開並完全複製了信息,但是當循環到達最後兩個文件時,它給了我一個錯誤。所有的文件都是底部2的操縱拷貝,所以我不明白爲什麼它不工作

update2 *它似乎好像只有工作簿,給出的錯誤,並不會加載是在網絡中的另一臺計算機上打開的,當這個程序運行時,所有的工作簿將在其他計算機上打開

+1

什麼是值錯誤發生時'MyWB'的值? – Dave

+0

@Dave OEE 1173.xlsm – Vbasic4now

+2

這個文件肯定存在於指定的位置?您沒有在單元格A2中添加會導致文件名無效的任何尾隨或前導空格? – Dave

回答

2

事實證明,一些文件已損壞,所以當代碼遇到這種情況它沒有工作。解決此問題的辦法是關閉損壞的工作簿,然後當我重新打開它時,我單擊旁邊的箭頭打開並選擇「打開並修復」,然後保存該文件的新副本,並且代碼順利運行