目录
示例
在某个文件夹下存有若干个以Excel 2003版本存储的工作簿(xls格式)。将这些xls格式的工作簿批量转换成Excel 2007以上版本(xlsx)格式或者启用宏(xlsm)的工作簿。
代码
使用Dir函数查找目录下的所有文件,然后使用工作簿集合(Workbooks)的Open打开文件,并另存为Excel 2007 (xlsx)格式。
Option Explicit
Sub 批量转换工作薄()
Dim oPath As String '原始文件路径
Dim oFName As String '原始文件名
Dim dPath As String '目标文件路么
Dim dFName As String '目标文件名
oPath = ThisWorkbook.Path & "\原工作薄"
dPath = ThisWorkbook.Path & "\转换结果"
'打开工作薄时强制禁止宏
Application.AutomationSecurity = msoAutomationSecurityForceDisable
Application.DisplayAlerts = False
oFName = Dir(oPath & "*.xls")
Do While oFName <> ""
With Workbooks.Open(oPath & oFName)
If .HasVBProject Then
dFName = oFName & "m"