📅  最后修改于: 2023-12-03 15:14:55.501000             🧑  作者: Mango
在Excel VBA中,可以使用以下代码将工作表导出为CSV文件:
Sub ExportToCSV()
' 存储导出前的当前活动工作表名称
Dim currentSheetName As String
currentSheetName = ActiveSheet.Name
' 创建新工作簿并将导出工作表复制到该工作簿
Dim newWorkbook As Workbook
Set newWorkbook = Workbooks.Add
ActiveSheet.Copy before:=newWorkbook.Sheets(1)
' 将复制后的工作表导出为CSV文件
Dim csvFilePath As String
csvFilePath = "C:\example.csv" ' 替换为要导出的CSV文件路径
newWorkbook.Sheets(1).Activate
ActiveWorkbook.SaveAs Filename:=csvFilePath, FileFormat:=xlCSV
' 关闭新工作簿而不保存更改
newWorkbook.Close SaveChanges:=False
' 将焦点返回到导出前的工作表
ThisWorkbook.Sheets(currentSheetName).Activate
End Sub
此代码中,将对活动工作表进行复制,并将复制的工作表粘贴到新工作簿中。然后,将新工作簿中的工作表导出为CSV,并且在不保存新工作簿更改的情况下关闭。最后,将焦点返回到导出前的工作表。
请注意,要导出的CSV文件路径应替换为实际路径和文件名。此外,CSV文件将覆盖以前存在的同名文件。如果需要避免这种情况,可以在导出前检查文件是否存在,并要求用户输入要覆盖文件还是将文件保存为不同的名称。
此外,如果您希望在导出后自动打开保存的CSV文件,可以使用以下代码:
' 打开导出的CSV文件
Dim csvFile As Workbook
Set csvFile = Workbooks.Open(csvFilePath)
csvFile.Activate
请注意,此代码中的csvFilePath
变量应包含导出CSV文件的完整路径和文件名。
希望这些代码对您有帮助!