excel文件保存成CSV

Sub CsvOutput()

Dim strNow As String

Dim csvFile As String

Dim lastRow As String

Dim targetRange As Range

Dim wb As Workbook

Dim fso As Object

strNow = Format(Now, "yyyymmddhhnnss")

csvFile = Application.GetSaveAsFilename(InitialFileName:="XXXXXXCSV_" & strNow & ".csv", FileFilter:="CSV文件(*.csv),*.csv")

If csvFile <> "False" Then

'最后一行的取得

lastRow = Cells(Rows.Count, 2).End(xlUp).Row

'CSV文件范围

Set targetRange = Worksheets(1).Range(Cells(2, 1), Cells(lastRow, 29))

'新建workbook

Set wb = Workbooks.Add

'CSV文件范围拷贝到新workbook

targetRange.Copy wb.Worksheets(1).Range("A1")

'cell内改行删除

wb.Worksheets(1).UsedRange.Replace vbLf, ""

wb.Worksheets(1).UsedRange.Replace vbCr, ""

wb.Worksheets(1).UsedRange.Replace vbCrLf, ""

Set fso = CreateObject("Scripting.FileSystemObject")

'输出的CSV文件存在先删除

If fso.FileExists(csvFile) Then

fso.deleteFile csvFile

End If

'新workbook作为CSV文件输出

wb.SaveAs Filename:=csvFile, FileFormat:=xlCSVUTF8, Local:=True

'新workbook不保存关闭

wb.Close SaveChanges:=False

MsgBox csvFile & "文件已经输出。"

Set fso = Nothing

End If

End Sub

相关推荐
小妖6664 天前
excel 怎么在单元格内容自动加上一段文字不能用公式
excel·vba
VBA63375 天前
VBA之Word应用第五章第五节 Range对象的属性(四)
vba
VBA63376 天前
VBA信息获取与处理专题七第一节 网络通信基础
vba
yivifu6 天前
怎样将Word文档中脚注引用后面的空格轻松删除
word·vba
VBA63377 天前
VBA之Excel应用第五章第四节 变量的生命周期
vba
VBA633712 天前
VBA中类的解读及应用第三十五讲 类对象的生死轮回----“二师兄”的成长历程之七
vba
SunnyDays101112 天前
使用 C# 添加、修改和删除 Excel VBA 宏 (无需 Microsoft Office Interop)
c#·excel··vba
VBA633714 天前
VBA 64位API声明语句第021讲
vba
VBA633718 天前
VBA数据库解决方案第三十一讲 DELETE+ADDNEW实现类似于UPDATA功能
vba
Access开发易登软件18 天前
Access 用 VBA 操作 SQLite,不用装任何驱动
jvm·数据库·sqlite·vba·access·access开发