首页 > 解决方案 > 从 .xlsx 转换为 .xlsm 的方法?

问题描述

所以我在这里找到了从 to 转换的代码.xls.xlsm但我想从 to.xlsx转换.xlsm

Sub TrandformAllXLSFilesToXLSM()
Dim myPath As String

myPath = "C:\Excel\"
WorkFile = Dir(myPath & "*.xls")

Do While WorkFile <> ""
If Right(WorkFile, 4) <> "xlsm" Then
    Workbooks.Open FileName:=myPath & WorkFile
    ActiveWorkbook.SaveAs FileName:= _
    myPath & WorkFile & "m", FileFormat:= _
    xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
    ActiveWorkbook.Close
 End If
 WorkFile = Dir()
Loop
End Sub

链接在这里

标签: vbaautomationxlsxxlsm

解决方案


正如 Compo 所说,根本不接近批处理文件或 vbs。

将此作为模块添加到挖掘中,并在此特定路径中对其进行测试。作为一个新手,我相信有一种更清洁的方法可以做到这一点。

Sub XLSX2XLSM()
Dim myPath As String

myPath = "C:\Excel\"
WorkFile = Dir(myPath & "*.xlsx")

Do While WorkFile <> ""
If Right(WorkFile, 4) <> "xlsm" Then
sName = Replace(LCase(WorkFile), ".xlsx", "")
    Workbooks.Open Filename:=myPath & WorkFile
    ActiveWorkbook.SaveAs Filename:= _
    myPath & sName & ".xlsm", FileFormat:= _
    xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
    ActiveWorkbook.Close
 End If
 WorkFile = Dir()
 
 
 
 Loop
 
 End Sub

推荐阅读