返回列表 上一主題 發帖

[發問] 如何變更資料夾內所有檔案的檔案類型?

[發問] 如何變更資料夾內所有檔案的檔案類型?

本帖最後由 papaya 於 2019-3-9 04:42 編輯

今日總表(均值排序)-(基準日:2019-03-05).zip (80.04 KB)

想一次將一個資料夾內的所有Microsoft Office Excel 逗點分隔值檔案 (.csv)
都更改為Microsoft Excel 工作表 (.xls)檔案。

請問︰有什麼方法或語法可以解決?
謝謝!

多看看,世界會變大
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Path As String, A As String
  4.     Path = ThisWorkbook.Path  '請修改為你的資料夾
  5.     A = Dir(Path & "\*.CSV")
  6.     Do While A <> ""
  7.         Name Path & "\" & A As Path & "\" & Replace(A, ".csv", ".xls")
  8.         A = Dir
  9.     Loop
  10. End Sub
複製代碼
回復 1# papaya
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 2# GBKEE

超版大:您好!
不好意思,請問:
1_程式碼要貼到哪裡?
2_要如何操作?
謝謝您!

TOP

回復 3# papaya
    Path = ThisWorkbook.Path  '修改為csv的資料夾
程式碼可貼在任何模組上
早上程式寫好沒確認轉為xls檔事是否正確
剛確認 name 無法改csv的檔案性質為.xls
請改用 .SaveAs 然後在  Kill  csv
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Path As String, A As String
  4.     Path = ThisWorkbook.Path  '請修改為你的資料夾
  5.     A = Dir(Path & "\*.CSV")
  6.     Do While A <> ""
  7.         With Workbooks.Open(Path & "\" & A)
  8.             .SaveAs Filename:=Path & "\" & Replace(A, ".csv", ".xls"), FileFormat:=xlExcel8
  9.             .Close True
  10.         End With
  11.         Kill Path & "\" & A
  12.         A = Dir
  13.     Loop
  14. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 papaya 於 2019-3-9 14:04 編輯

回復 4# GBKEE
未命名.png
2019-3-9 13:58


超版大:您好!
程式碼可貼在任何模組上=>是指選擇資料夾內任一個檔案嗎?還是在同一個資料夾內新增一個excel.xls檔案?

程式碼貼到"今日總表(均值排序)-1_1-(基準日:2019-03-05)"的模組1後,點上方"執行"=>顯示FileFormat:=xlExcel8=>"變數未定義"
請問:要如何修改?謝謝您!

PS:
1_請問:是一次一個檔案的副檔名嗎?還是一次可以將資料夾內的所有檔案的副檔名由.cvs改為.xls
2_我的作業系統為Win7
謝謝您!

TOP

本帖最後由 GBKEE 於 2019-3-10 06:44 編輯

回復 5# papaya
xlExcel8 改成 56 試試
Do While A <> ""
跑迴圈 一個個的改成xls
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 6# GBKEE


  將  xlExcel8 改成 xlExcel56
還是顯示"變數未定義"題式框。

TOP

回復 7# papaya

use
xlNormal  或  xlExcel9795  或  xlExcel7

TOP

本帖最後由 GBKEE 於 2019-3-10 11:33 編輯

回復 7# papaya

如是2003版 改成
FileFormat:=xlNormal

如不是2003版  
  xlExcel8 參數 改成
FileFormat:=56
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 8# jackyq
採用 xlNormal=>OK!謝謝您^^

TOP

        靜思自在 : 對父母要知恩,感恩、報恩。
返回列表 上一主題