返回列表 上一主題 發帖

xls另存Csv保留零

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呢
可否請大大們提供好方法呢?謝謝

請上傳一下你的資料檔

TOP

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

TEST1.rar (16.9 KB)

TOP

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

TOP

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

如果你把它存成  .xls 檔

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

開啟後就可以顯示 0

TOP

回復 5# bobomi
了解,感謝大大撥空回復:)

TOP

回復 5# bobomi


   請教您,是說把csv轉成xlsx檔案,儲存格前面的0就會顯示嗎...
不懂這些是要做什麼:
WS.SaveAs SaveToDirectory & WS.Name, xlExcel7
xlExcel7, xlExcel8 .... 這類的
joyce

TOP

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

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

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

TOP

        靜思自在 : 一個缺口的杯子,如果換一個角度看它,它仍然是圓的。
返回列表 上一主題