微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用VB [文件夹]将excel工作表保存到文件名称为CSV文件

参见英文答案 > Export each sheet to a separate csv file2
我非常新的VB编码,我试图保存多个excel文件工作表到csv,我不知道这样做为多个表,但我找到一种方法来做单个文件.我发现这个网站上的代码对我正在尝试做的非常有用,只有问题是文件保存的工作表名称,但我试图保存它们与原始文件和工作表名称,如filename_worksheet名称,我试图自己做,但不断收到错误,你能告诉我做错了什么吗?

我使用的代码如下:

Public Sub SaveWorksheetsAsCsv()

   Dim WS As Excel.Worksheet
   Dim SavetoDirectory As String

   Dim CurrentWorkbook As String
   Dim CurrentFormat As Long

   CurrentWorkbook = ThisWorkbook.FullName
   CurrentFormat = ThisWorkbook.FileFormat
   ' Store current details for the workbook
   SavetoDirectory = "H:\test\"
   For Each WS In ThisWorkbook.Worksheets
   WS.SaveAs SavetoDirectory & WS.Name,xlCSV
   Next

Application.displayAlerts = False
ThisWorkbook.SaveAs Filename:=CurrentWorkbook,FileFormat:=CurrentFormat
Application.displayAlerts = True
' Temporarily turn alerts off to prevent the user being prompted
'  about overwriting the original file.

End Sub
我想这是你想要的
Sub SaveWorksheetsAsCsv()

Dim WS As Excel.Worksheet
Dim SavetoDirectory As String

Dim CurrentWorkbook As String
Dim CurrentFormat As Long

CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat
' Store current details for the workbook
SavetoDirectory = "H:\test\"
For Each WS In ThisWorkbook.Worksheets
    Sheets(WS.Name).copy
    ActiveWorkbook.SaveAs Filename:=SavetoDirectory & ThisWorkbook.Name & "-" & WS.Name & ".csv",FileFormat:=xlCSV
    ActiveWorkbook.Close savechanges:=False
    ThisWorkbook.Activate
Next

Application.displayAlerts = False
ThisWorkbook.SaveAs Filename:=CurrentWorkbook,FileFormat:=CurrentFormat
Application.displayAlerts = True
' Temporarily turn alerts off to prevent the user being prompted
'  about overwriting the original file.

End Sub

原文地址:https://www.jb51.cc/vb/255645.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐