Excel2016使用宏批量将xls或xlsx转成csv文件

点击菜单栏中的宏,创建一个宏,粘贴后附代码,然后运行getcsv这个宏,会跳出一个窗口,选择所有你要转化的xls文件。点击运行。

选中以后,等一段时间,再回到xls文件下,会多一个csv文件夹,里面就是我们要导入R的文本文件了。如果要转换的是xlsx文件,把代码中的xls改成xlsx即可。

复制代码
Sub getCSV()
'这是网上看到的xlsx批量转化,而改写的一个xlsx批量转化csv格式
'1)批量转化csv参考:http://club.excelhome.net/thread-1036776-2-1.html
'2)创建文件夹参考:http://jingyan.baidu.com/article/f54ae2fcdc79bc1e92b8491f.html
'这里设置屏幕不动,警告忽略
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim data As Workbook
'这里用GetOpenFilename弹出一个多选窗口,选中我们要转化成csv的xlsx文件,
file = Application.GetOpenFilename(MultiSelect:=True)
'用LBound和UBound
For i = LBound(file) To UBound(file)
    Workbooks.Open Filename:=file(i)
    Set data = ActiveWorkbook
    Path = data.Path
    '这里设置要保存在目录下面的csv文件夹里,之后可以自己调
    '参考了里面的第一种方法
    On Error Resume Next
    VBA.MkDir (Path & "\csv")
    With data
        .SaveAs Path & "\csv\" & Replace(data.Name, ".xlsx", ".csv"), xlCSV
        .Close True
      End With
Next i
'弹出对话框表示转化已完成,这时去相应地方的csv里查看即可
MsgBox "已转换了" & (i-1) & "个文档"
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
复制代码

 

posted @   技术研究与问题解决  阅读(1105)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
历史上的今天:
2019-03-17 @FeignClient
2019-03-17 使用 spring.profiles.active 及 @profile 注解 动态化配置内部及外部配置
2019-03-17 springcloud ribbon 客户端负载均衡用法
2019-03-17 SpringCloud学习笔记:服务注册与发现Eureka(2)
点击右上角即可分享
微信分享提示