方法/步驟
-
首選我們把需要導出為CVS的Excel文件整理集中到一個文件夾中。然后新建一個文件夾用來保存CSV文件的。支持Xlsx、xls格式。
-
新建一個EXCEL表格,打開后,點擊菜單欄上的“開發工具”;功能區下點擊打開Visual Basic。
-
如果菜單欄上沒有開發工具,則在選項中添加。點擊文件,彈出菜單選擇選項。在EXCEL選項中,點擊自定義功能區,右邊勾選開發工具,然后點擊確定。這樣開發工具就會顯示在菜單欄上。
-
在左側工程資源管理器中雙擊Sheet1 (Sheet1)打開代碼窗口。工程資源管理器如果沒有顯示,則按ctrl+R就可以顯示了。
-
在代碼窗口中輸入下面代碼,其中有兩行(圖片紅框位置)需要自己修改為實際文件來源路徑和保存路徑。就是開頭說到的那兩個文件夾位置。后面再解釋。
Sub SaveToCSVs()
Dim fDir As String
Dim wB As Workbook
Dim wS As Worksheet
Dim fPath As String
Dim sPath As String
fPath = "C:\Users\qiany\Desktop\文件\"
sPath = "C:\Users\qiany\Desktop\csv保存位置\"
fDir = Dir(fPath)
Do While (fDir <> "")
If Right(fDir, 4) = ".xls" Or Right(fDir, 5) = ".xlsx" Then
On Error Resume Next
Set wB = Workbooks.Open(fPath & fDir)
'MsgBox (wB.Name)
For Each wS In wB.Sheets
wS.SaveAs sPath & wB.Name & ".csv", xlCSV
Next wS
wB.Close False
Set wB = Nothing
End If
fDir = Dir
On Error GoTo 0
Loop
End Sub
-
代碼中的fPath = "C:\Users\qiany\Desktop\文件\" -定義為需要轉換成CSV的Excel源文件。
sPath = "C:\Users\qiany\Desktop\csv保存位置\" -定義為轉換后的CSV文件保存位置。
這兩個位置需要自己按實際修改。特別注意:路徑需要以\結尾。
-
寫好代碼后開始運行。點擊菜單欄上的運行,選擇運行子過程/用戶窗體。
-
彈出一個對話框,點擊運行。
-
接下來就開始進入轉換過程,在這過程中會多個EXCEL窗體自動顯示再自動關閉,取決於多少個Excel文件。
完成后我們打開剛才設定的保存文件夾,就可以看到轉換后的CSV文件。
-
在步驟9的圖片中CSV的文件明顯多於剛才步驟1中的文件,為什么會這樣呢?
因為原來的Excel的單個工作簿中有多個工作表,所以才會出現這么多的CSV文件。
簡單的說,就是所有工作簿中的每個工作表都保存為一個CSV文件。
END