返回列表 上一主題 發帖

[發問] 請修正錯誤的程式碼

測試檔 :

'修改檔案類型---------------------------------   ‘列9
        oPath = ThisWorkbook.Pa ...
ziv976688 發表於 2020-12-3 14:19

其實問題的癥結在於.csv檔案的格式與 .xls 檔案不符,
你只需要用 記事本 去開啟 .csv 檔案就會發現它其實是個(資料 與 , 及 換行字元 組合成的)文字檔而已, 表現形式像是 :

期距數,1,10,29,38,47,2,11,20,39,48,3,12,21

Excel 程式能夠正常開啟是因為他有針對 csv 檔案 做處理,
但你卻只是把副檔名改成.xls 它就沒辦法了.

想解決可以用Excel開啟 .csv 檔案再另存成 .xls 檔案即可.
  1.         oPath = ThisWorkbook.Path  '路徑
  2.         A = Dir(oPath & "\*.CSV")
  3.         Do While A <> ""
  4.             Oldname = oPath & "\" & A
  5.             A = Left(A, Len(A) - 4) ' 去掉 .csv
  6.             With Workbooks.Open(Oldname)
  7.               .Sheets(1).Name = "Data" ' 開啟 .csv 檔案時, Sheet Name預設是檔名, 會發生錯誤,開檔時會有訊息問是否要修正
  8.               A = Replace(A, "基準日:", "")
  9.               A = "49_期距刪牌_" & A '新增需求:再將檔案名稱前批改增加 "49_期距刪牌_"
  10.               .SaveAs Filename:=oPath & "\" & A, FileFormat:=xlWorkbookNormal
複製代碼
49_期距刪牌_00排序_空數總覽-(VBA)-Ans.zip (66.7 KB)

TOP

        靜思自在 : 能善用時間的人,必能掌握自己努力的方向。
返回列表 上一主題