我有一個非常簡單的宏。我基本上每月都會爲我爲活躍成員自願參加的俱樂部獲得數據轉儲。我創建該文件中幾個單獨的XLS工作簿,然後我需要轉換爲.csvExcel VBA - 獲取運行時錯誤1004 - 無法訪問文件
下面是代碼樣本:
' convert Poker
Workbooks.Open fileName:= _
"/Users/birdsdeanger/Documents/CLUB/CSV Files/Current_Month/xlsx/Poker.xlsx"
ChDir _
"/Users/birdsdeanger/Documents/CLUB/CSV Files/Current_Month/csv"
ActiveWorkbook.SaveAs fileName:= _
"/Users/birdsdeanger/Documents/CLUB/CSV Files/Current_Month/csv/Poker" &
".csv" _
, FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Saved = True
ActiveWindow.Close
' convert Potluck
Workbooks.Open fileName:= _
"/Users/birdsdeanger/Documents/CLUB/CSV Files/Current_Month/xlsx/Potluck.xlsx"
ChDir _
"/Users/birdsdeanger/Documents/CLUB/CSV Files/Current_Month/csv"
ActiveWorkbook.SaveAs fileName:= _
"/Users/birdsdeanger/Documents/CLUB/CSV Files/Current_Month/csv/Potluck" &
".csv" _
, FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Saved = True
ActiveWindow.Close
' convert Pub_Night
Workbooks.Open fileName:= _
"/Users/birdsdeanger/Documents/CLUB/CSV
Files/Current_Month/xlsx/Pub_Night.xlsx"
ChDir _
"/Users/birdsdeanger/Documents/CLUB/CSV Files/Current_Month/csv"
ActiveWorkbook.SaveAs fileName:= _
"/Users/birdsdeanger/Documents/CLUB/CSV Files/Current_Month/csv/Pub_Night" &
".csv" _
, FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Saved = True
ActiveWindow.Close
我運行的宏的這一部分,並得到了以下錯誤:
如果我放棄在這一點上宏,手動保存,作爲csv文件到正確的目錄,並隨後將其刪除,然後重新運行宏...宏將創建的CSV正確的目錄(撲克),並在下一個炸彈(potluck)。
我會用第二個文件(potluck)重複這個過程(手動保存爲csv,從目錄中刪除文件)再次運行宏,前兩個文件創建就好了,它會彈出第三個(pubnight)...
任何有關正在發生什麼或如何修復代碼的建議?我必須每月創建18個這樣的文件,並且希望能夠處理我的自動化中的錯誤,以便在我運行這個瘋狂的事情時不會撕掉我的頭髮。
不是問題的原因(據我所知),但你爲什麼要做'ChDir'?他們不應該被需要,因爲你完全符合所有的文件名。順便說一句 - 這是爲了[excel-vba-mac]而不是[excel-vba]? – YowE3K
IIRC,當您保存爲CSV文件時,它只保存一張工作表,可能是ActiveSheet。有可能當您打開工作簿時,ActiveSheet不正確?也許是一張空白紙? –
是的,它是[excel-vba-mac]。我已經經歷了一些宏的迭代,並且在某些時候我添加了ChDir來解決另一個問題。儘管如此,我會嘗試一個沒有它的版本。 – Birdsdeanger