【发布时间】:2015-10-29 15:30:40
【问题描述】:
我在 VBA 中编写了以下代码。调试时,我找不到任何问题。它不会创建或将任何文件转换为 .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
【问题讨论】:
-
!?!?!?!?嗨,您想为每个同名的工作簿保存每张工作表!??!?!因为如果我看到你的代码(没有错误)就会发生这种情况
-
wS.SaveAs dd(0) & wS.Name & ".csv",xlCSV 是我在那里使用的实际行。那只是为了查看是否会创建至少一个 .csv。请看这条线,我已经编辑过了。谢谢指正。