[算表] 匯進檔案密碼輸入錯誤跳過問題

看板Office作者 (佩蒂吉他)時間8年前 (2017/06/12 09:50), 8年前編輯推噓0(004)
留言4則, 1人參與, 最新討論串1/1
軟體:excel 版本:2007 我之前有問過一個vba 就是把下列檔案依照檔名取工作表複製進來 檔案例如: 001.xlsx 002.xlsx 003.xlsx 004.xlsx 其中假設002有密碼保護 若是002 輸入密碼錯誤 我想跳過002繼續執行 用on error resume next 會變成 後面的003資料會成為002的工作表 若是下面的寫法則會失敗 不知道該怎麼修改 002密碼輸入錯誤後就跳掉 程式繼續執行下一個003的處理 而且都會正確改為003的工作表 程式碼如下: =========== cname = "try.xlsx" Workbooks.Add 1 ActiveWorkbook.SaveAs "D:\" & cname wb.Sheets("彙總").Copy after:=Workbooks(cname).Sheets(1) Do While openfile <> "" right: sfname = Left(openfile, InStrRev(openfile, ".") - 1) Workbooks.Open filepath & openfile On Error GoTo wrong ActiveSheet.Name = sfname Sheets(sfname).Copy before:=Workbooks(cname).Sheets("彙總") Workbooks(openfile).Close 0 openfile = Dir Loop wrong: MsgBox "檔案密碼錯誤" GoTo right Calculate Workbooks(cname).Close 1 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.67.77 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1497232201.A.64A.html

06/12 10:06, , 1F
on error resume next,set workbooks.open至變數
06/12 10:06, 1F

06/12 10:07, , 2F
變數is nothing時為真時msgbox,為假執行其他動作
06/12 10:07, 2F
檔案跟範例檔案在這 https://drive.google.com/open?id=0BwCgrQhGgaw7Zm1JaTU0RW5WbU0 我改過但是還是會失敗 不知道程式碼有哪邊想錯了 感覺是順序問題? ※ 編輯: ptguitar (60.250.67.77), 06/12/2017 10:50:49

06/12 11:10, , 3F
ttbook於判斷後set為nothing,其他如worksheet.name、
06/12 11:10, 3F

06/12 11:11, , 4F
worksheet.copy或workbook.close再看看是否調整至else內
06/12 11:11, 4F
文章代碼(AID): #1PFVD9PA (Office)
文章代碼(AID): #1PFVD9PA (Office)