Board logo

標題: xls另存Csv保留零 [打印本頁]

作者: jak    時間: 2015-3-6 12:36     標題: xls另存Csv保留零

我需要將大量excel sheet存成csv檔
------------------------------------------------
以下是目前用的方式
Public Sub SaveWorksheetsAsCsv()
Dim WS As Excel.Worksheet
Dim SaveToDirectory As String

    SaveToDirectory = "d:\"

    For Each WS In ThisWorkbook.Worksheets
        WS.SaveAs SaveToDirectory & WS.Name, xlCSV
    Next

End Sub
------------------------------------------------

裡面很多0開頭數字,轉存後無法顯示(0015,0050.....→15,50.....)
改成下列兩種模式也無法成功
(1)   ="0050"
(2)   0050(儲存格格式設為文字)
能不能讓這(1)、(2)種型態的數字轉到csv都可以顯示出0呢
可否請大大們提供好方法呢?謝謝
作者: bobomi    時間: 2015-3-6 17:34

請上傳一下你的資料檔
作者: jak    時間: 2015-3-6 18:00

回復 2# bobomi
我需要讓A欄開頭是零的數字都維持原樣,但是目前用的方式,會讓0通通不見
麻煩大大看看了

[attach]20392[/attach]
作者: bobomi    時間: 2015-3-6 19:06

其實存檔後, 檔案內容確實是 0050 ....  0還是有保留
(你可以用筆記本軟體開啟那個 csv 檔, 就可以看到0050 ....  0還是有保留 )
只是用 Excel 開檔時, Excel 自動把它轉為數字, 導致0不見了
作者: bobomi    時間: 2015-3-6 19:25

本帖最後由 bobomi 於 2015-3-6 19:32 編輯

如果你把它存成  .xls 檔

WS.SaveAs SaveToDirectory & WS.Name, xlExcel7
xlExcel7, xlExcel8 .... 這類的

開啟後就可以顯示 0
作者: jak    時間: 2015-3-6 22:37

回復 5# bobomi
了解,感謝大大撥空回復:)
作者: leiru    時間: 2015-3-6 22:56

回復 5# bobomi


   請教您,是說把csv轉成xlsx檔案,儲存格前面的0就會顯示嗎...
不懂這些是要做什麼:
WS.SaveAs SaveToDirectory & WS.Name, xlExcel7
xlExcel7, xlExcel8 .... 這類的
作者: bobomi    時間: 2015-3-6 23:36

本帖最後由 bobomi 於 2015-3-6 23:41 編輯

指定 xlExcel7 它就會幫你存成 xxx.xls 檔, 0就會顯示
付出的代價: 檔案大1點, 開啟速度慢1點

如果你就是想要保存 csv  , 還要 EXCEL 打開看得到0的話
可能只能用 vba 去開了




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)