返回列表 上一主題 發帖

CSV儲存問題(已解決)

回復 1# koala2099
Excel  是可以直接開啟 CSV 檔案 不一定要另存為 XLS
  1. Option Explicit
  2. Sub Ex()
  3.     Dim xlpath As String, xlfile As String
  4.     xlpath = "D:\csvdb\"
  5.     xlfile = Dir(xlpath & "*.csv")
  6.     'Dir 函數 傳回一個 String ,用以表示合乎條件、檔案屬性、磁碟標記的一個檔案名稱、或目錄、檔案夾名稱。
  7.     'Dir 會傳回第一個符合 pathname 的檔案名稱,若要取得其它符合 pathname 的檔案名稱,請重新呼叫 Dir,且不要使用引數,如果已沒有合乎條件的檔案,則 Dir 會傳回一個空字串 (""),一旦傳回值為空字串時,如要再次呼叫 Dir ,也必須要再指定 pathname ,否則會產生錯誤
  8.     Do While xlfile <> ""
  9.         With Workbooks.Open(xlpath & xlfile)
  10.             .SaveAs Filename:=xlpath & Replace(xlfile, "csv", ".xls")
  11.             .Close SaveChanges:=True   '關閉 檔案 ,存檔
  12.          End With
  13.         xlfile = Dir
  14.     Loop
  15. End Sub
複製代碼

TOP

回復 3# c_c_lai
回復 4# koala2099
漏了一個參數  FileFormat:=xlNormal
  1. Option Explicit
  2. Sub Ex()
  3.     Dim xlpath As String, xlfile As String
  4.     xlpath = "D:\csvdb\"
  5.     xlfile = Dir(xlpath & "*.csv")
  6.     'Dir 函數 傳回一個 String ,用以表示合乎條件、檔案屬性、磁碟標記的一個檔案名稱、或目錄、檔案夾名稱。
  7.     'Dir 會傳回第一個符合 pathname 的檔案名稱,若要取得其它符合 pathname 的檔案名稱,請重新呼叫 Dir,且不要使用引數,如果已沒有合乎條件的檔案,則 Dir 會傳回一個空字串 (""),一旦傳回值為空字串時,如要再次呼叫 Dir ,也必須要再指定 pathname ,否則會產生錯誤
  8.     Do While xlfile <> ""
  9.         With Workbooks.Open(xlpath & xlfile)
  10.             .SaveAs Filename:=xlpath & Replace(xlfile, "csv", ".xls"), FileFormat:=xlNormal
  11.             .Close SaveChanges:=True   '關閉 檔案 ,存檔
  12.          End With
  13.         xlfile = Dir
  14.     Loop
  15. End Sub
複製代碼

TOP

        靜思自在 : 心中常存善解、包容、感思、知足、惜福。
返回列表 上一主題