VBA 怎样把一个文件夹下所以excel文件的每个sheet转换成CSV文件

 我来答
百度网友ce23c11
2012-01-13 · TA获得超过287个赞
知道小有建树答主
回答量:132
采纳率:100%
帮助的人:51万
展开全部
加班写的,希望满足你的需要。
确实忽略了Sheet表的功能,粗心所致,道歉!
应ynzsvt的要求,增加每个表的导出功能。
Sub XLS2CSV()
Dim fs, f, f1, fc
Dim Wkbook As Workbook
Dim WkSheet As Worksheet
Dim FileCount As Integer
Dim SheetCount As Integer
Dim DirName As String
FileCount = 0
SheetCount = 0
DirName = Application.FileDialog(msoFileDialogFolderPicker).Show
If DirName = -1 Then
DirName = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
Application.DisplayAlerts = False
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1))
Set fc = f.Files
If fc.Count > 0 Then
For Each f1 In fc
If Right(f1.Name, 3) = "xls" Then
FileCount = FileCount + 1
Set Wkbook = Application.Workbooks.Open(f1)
For Each WkSheet In Wkbook.Sheets
WkSheet.Select
Wkbook.SaveAs Filename:=DirName & "\" & Left(f1.Name, Len(f1.Name) - 4) & WkSheet.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
SheetCount = SheetCount + 1
Next
Wkbook.Close
End If
Next
End If
End If
MsgBox "转换完成! " & Chr(10) & FileCount & "个文件被转换 " & SheetCount & "个Sheet被转换"
End Sub
'说明:执行该宏后,选择要转换的文件夹。
'该文件夹下所有Excel文件的所有Sheet都将被转换为csv格式。
'保存路径为原excel文件所在路径,文件名为"原excel文件名+Sheet名.csv"
Ynzsvt
2012-01-12 · TA获得超过6664个赞
知道大有可为答主
回答量:1.5万
采纳率:40%
帮助的人:2682万
展开全部
学习了,好像工作表没循环吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式