我在VBA中編寫了下列代碼。調試時,我無法找到任何問題。它不會創建或將任何文件轉換爲.CSV。將文件夾中的XLS/XLSX文件轉換爲CSV
Sub SaveToCSVs()
Dim fDir As String
Dim Wb As Workbook
Dim wS As Worksheet
Dim csvWs As String, csvWb As String
Dim extFlag As Long '0 = .xls & 1 = .xlsx extension types
Dim fPath As String
Dim sPath As String, dd() As String
fPath = "C:\Users\DA00358662\Documents\XLSCONV\*.*"
sPath = "C:\Users\DA00358662\Documents\XLSCONV\"
fDir = Dir(fPath)
extFlag = 2
Do While (fDir <> "")
If Right(fDir, 4) = ".xls" Or Right(fDir, 5) = ".xlsx" Then
extFlag = 0
Else
extFlag = 2
End If
On Error Resume Next
If extFlag = 0 Then
fDir = Dir
Set Wb = Workbooks.Open(fPath & fDir)
csvWb = Wb.Name
dd = Split(csvWb, ".")
For Each wS In Wb.Sheets
wS.SaveAs dd(0) & wS.Name & ".csv", xlCSV
Next wS
Wb.Close False
Set Wb = Nothing
fDir = Dir
On Error GoTo 0
End If
Loop
End Sub
!?!?!?!?嗨,您可以爲每個工作簿保存每張紙的相同名稱!?!?!因爲如果我看到你的代碼(沒有錯誤)就會發生這種情況 – Fabrizio
wS.SaveAs dd(0)&wS.Name&「.csv」,xlCSV是我在那裏使用的實際行。這只是爲了看看是否會創建至少一個.csv。 請參閱我編輯過的行。感謝您的糾正。 –