前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel VBA批量转换某个文件夹里的xls工作簿为xlsx

Excel VBA批量转换某个文件夹里的xls工作簿为xlsx

作者头像
一线编程
发布2019-07-22 12:25:01
1.8K0
发布2019-07-22 12:25:01
举报
文章被收录于专栏:办公魔盒办公魔盒

xcel VBA批量转换某个文件夹里的xls工作簿为xlsx


Sub 批量转换工作簿()

Dim oPath As String '原始文件路径

Dim oFName As String '原始文件名

Dim dPath As String '目标文件路径

Dim dFName As String '目标文件名

'获取路径

With Application.FileDialog(msoFileDialogFolderPicker)

.InitialFileName = "C:\Users\" & Environ("username") & "\Desktop\"

If .Show = True Then Path = .SelectedItems(1) & "\"

End With

If Path = "" Then Exit Sub

oPath = Path

dPath = ThisWorkbook.Path & "\转换结果"

'打开工作簿时强制禁止宏

Application.AutomationSecurity = msoAutomationSecurityForceDisable

'禁用警告

Application.DisplayAlerts = False

'查找xls文件

oFName = Dir(oPath & "*.xls")

'当文件被找到则不断循环

Do While oFName <> ""

'打开工作簿

With Workbooks.Open(oPath & oFName)

'判断工作簿是否含有VB工程

If .HasVBProject Then

'若含有VB工程,则另存为启用宏的工作簿

dFName = oFName & "m"

.SaveAs dPath & dFName, xlOpenXMLWorkbookMacroEnabled

Else

'若不含有VB工程,则另存为一般工作簿

dFName = oFName & "x"

.SaveAs dPath & dFName, xlOpenXMLWorkbook

End If

'关闭工作簿

.Close False

End With

'查找下一个文件

oFName = Dir

Loop

'恢复打开文件的宏安全性设置

Application.AutomationSecurity = msoAutomationSecurityByUI

'启用警告

Application.DisplayAlerts = True

End Sub

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 办公魔盒 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档