為什麼這篇vba另存新檔csv鄉民發文收入到精華區:因為在vba另存新檔csv這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者winnina1 (Jtin 介)看板Office標題[問題] VBA存讀CSV格式的問題時間S...
(若是和其他不同軟體互動之問題 請記得一併填寫)
軟體:EXCEL
版本:2007
存取CSV的方法如下:
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" &
"data_001" & ".csv", _
FileFormat:=xlCSV, CreateBackup:=False
一開始發現的問題是 日期格式會跳掉
我需要的是yyyy/mm/dd的格式 或者是 mm/dd/yyyy的格式 去灌入其他程式使用
但一開始存檔之後 只要再開啟檔案 就會變成 yyyy/m/d的格式
因此我試著把他用文字表示yyyy/mm/dd的型態,去灌入其他程式做使用
結果讀取出現bug
但是我只需要手動把csv檔案開啟後 存檔
就可以正常讀取
但因為資料量太多 實在無法一一做存檔動作
想問問板上大大 在儲存CSV檔的時候,VBA碼該做怎樣的設定才能夠讓原有格式保留
--
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1425719291.A.2F6.html
Dim mF As String
mF = Dir(ThisWorkbook.Path & "\" & "*.csv")
Do While mF <> ""
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & mF, Format:=xlCSV, _
Delimiter:=","
'Application.DisplayAlerts = False '不詢問就儲存和關閉
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\renew\" & mF &
".csv", _
FileFormat:=xlCSV, CreateBackup:=False, Local:=True
ActiveWorkbook.Save
ActiveWorkbook.Close
mF = Dir()
Loop
End Sub
我是這樣寫