zpk11111 发表于 2023-4-4 13:15

Excel转CSV(VBScript)

工作中经常需要将excel转成CSV格式,所以编写了使用VBScript编写了一个一键转换工具,将待转换文件直接拖入到Excel2CSV.vbs即可生成对应的CSV文件
Excel2CSV.vbs代码如下:

' 创建一个Excel Application 对象
Dim objExcel: Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False

' 打开 Excel 文件
Dim objWorkbook: Set objWorkbook = objExcel.Workbooks.Open(WScript.Arguments.Item(0))

' 获取 Excel 文件名和路径
Dim strSourceFilePath: strSourceFilePath = WScript.Arguments.Item(0)
Dim strSourceFileName: strSourceFileName = Mid(strSourceFilePath, InStrRev(strSourceFilePath, "\") + 1)
Dim strSourceFileBaseName: strSourceFileBaseName = Left(strSourceFileName, InStrRev(strSourceFileName, ".") - 1)

' 构造 CSV 文件名和路径
Dim strCsvFilePath: strCsvFilePath = Left(strSourceFilePath, InStrRev(strSourceFilePath, "\")) & strSourceFileBaseName & ".csv"

' 将活动工作表保存为 CSV 格式
objWorkbook.ActiveSheet.SaveAs strCsvFilePath, 6 ' 6 表示 csv 格式

' 关闭 Excel 文件和应用程序
objWorkbook.Close False ' False 表示不保存更改
objExcel.Quit

' 释放对象
Set objWorksheet = Nothing
Set objWorkbook = Nothing
Set objExcel = Nothing

' 显示完成提示
MsgBox "转换完成"

liuhaigang12 发表于 2023-4-4 14:51

右键修改岂不是更快

zpk11111 发表于 2023-4-4 15:30

liuhaigang12 发表于 2023-4-4 14:51
右键修改岂不是更快

正常要另存为

LuckyClover 发表于 2023-4-4 15:30

感谢分享,支持原创

nansen 发表于 2023-4-4 15:45

有点小用途

jxyu1013 发表于 2023-4-4 16:14

可以反过来转吗? csv转excel

a2523188267 发表于 2023-4-4 16:35

这个简洁 好用。

飘水 发表于 2023-4-4 16:53

感谢分享,其实就是把另存为操作简单化,直接拖放即可

xiaobaobei2020 发表于 2023-4-4 17:09

6啊正需要这个,感谢楼主分享

cao777 发表于 2023-4-4 17:50

多个表怎么办 csv只支持一个表吧
页: [1] 2
查看完整版本: Excel转CSV(VBScript)