【VBA】一键完成XLSX 2 CSV 2 JAT的保存和导出
发表于2016-04-07
【VBA】一键完成xlsx>csv>jat的保存和导出
由于工作需要,常常要把xlsx文件另存为csv并拖入工具转化为jat文件。枯燥重复操作的浪费了很多时间和精力,为此写了一个个人宏,用快捷键来完成以上操作。接下来我解释一下,这个宏是如何制作的:
工具:
1、EXCEL2016
2、newcsv——公司的csv导出jat并上传svn的工具,用falsh开发的。正常操作方法:把csv文件拖放到newcsv窗口中,之后工具会自动导出jat并上传svn对应目录下。
步骤:
1、创建个人宏
为了可自定义快捷键,我们选择录制宏时设置(目前还没找到更好的设置快捷键指向宏的方法,欢迎朋友们推荐)。
开发工具>录制宏,命名宏,设置快捷键,并选择保存到“个人宏工作薄”。
开始录制后,即可点击”停止录制“。
将以下VBA代码粘贴到编辑区。
完成:)
欢迎有兴趣的同学互相探讨 。
QQ&邮箱:mp2012@qq.com
工具:
1、EXCEL2016
2、newcsv——公司的csv导出jat并上传svn的工具,用falsh开发的。正常操作方法:把csv文件拖放到newcsv窗口中,之后工具会自动导出jat并上传svn对应目录下。
步骤:
1、创建个人宏
为了可自定义快捷键,我们选择录制宏时设置(目前还没找到更好的设置快捷键指向宏的方法,欢迎朋友们推荐)。
开发工具>录制宏,命名宏,设置快捷键,并选择保存到“个人宏工作薄”。
开始录制后,即可点击”停止录制“。
点击”Visual Basic“调出VBA编辑器,此时可以看到我们刚才录制的宏。
将以下VBA代码粘贴到编辑区。
Sub xlsx2csv2jat()
' 快捷键: Ctrl+q
'
GetFileName = ActiveWorkbook.Name
If Right(GetFileName, 5) = ".xlsx" Then
newFileName = Left(GetFileName, Len(ActiveWorkbook.Name) - 5) & ".csv"
FullFilePath = ActiveWorkbook.Path & "" & newFileName
ActiveWorkbook.Save '保存
ActiveWorkbook.SaveAs Filename:= _
FullFilePath, FileFormat _
:=xlCSV, CreateBackup:=False '另存为csv
Shell "D:Program Files (x86)newCSVnewCSV.exe " + FullFilePath '导出newcsv
oldFullFileName = ActiveWorkbook.Path & "" & Left(GetFileName, Len(ActiveWorkbook.Name) - 4) & ".xlsx"
oldFileName = Left(GetFileName, Len(ActiveWorkbook.Name) - 4) & ".xlsx"
Workbooks.Open Filename:=oldFullFileName '打开xlsx
Workbooks(newFileName).Close SaveChanges:=False '关闭csv
MsgBox oldFileName & "保存成功!" & Chr(13) & newFileName & "保存成功!" & Chr(13) & "newCSV导出成功!" '弹出成功提示
Else
MsgBox "该文件不是.xlsx类型文件,请确认类型后再导出为.csv文件!!!"
End If
End Sub
以上代码红色部分为newcsv.exe文件路径,可根据自己电脑上的位置调整。
保存文档。
以上代码红色部分为newcsv.exe文件路径,可根据自己电脑上的位置调整。
保存文档。
按下快捷键ctrl+q
完成:)
欢迎有兴趣的同学互相探讨 。
QQ&邮箱:mp2012@qq.com