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

相关推荐
Access开发易登软件5 天前
Access开发导出PDF的N种姿势,你get了吗?
后端·低代码·pdf·excel·vba·access·access开发
課代表5 天前
VBA 中的 Excel 工作表函数
excel·vba·函数·对象·属性·range·静态变量
Lilixxs6 天前
VBA 中使用 ADODB 操作 SQLite 插入中文乱码问题
数据库·中间件·sqlite·乱码·vba·odbc·adodb
只会HelloWorld的华娃19 天前
VBA模板记录
microsoft·vba
Access开发易登软件1 个月前
Access开发右下角浮窗提醒
microsoft·vba·access·access开发
Access开发易登软件2 个月前
Access开发一键删除Excel指定工作表
服务器·前端·后端·excel·vba·access·access开发
Prodigy_kyw2 个月前
VBA初学3----实战(VBA实现Excel转csv)
excel·vba·csv
yivifu3 个月前
利用VBA将Word文档修改为符合EPUB3标准规范的HTML文件
word·vba·epub
Learn-Share_HY3 个月前
[Excel VBA]如何製作買三送一優惠條件的POS結帳介面?
excel·vba·office·自動化·自動化辦公
shandianchengzi4 个月前
【工具】Quicker/VBA|PPT 在指定位置添加有颜色的参考线
powerpoint·vba·ppt·quicker