尝试打开使用 VBA 宏保存的 .xlsx 文件时收到错误。我收到一个消息框,显示“Excel 无法打开文件‘filename.xlsx’,因为文件格式或文件扩展名无效”。但如果我手动使用“另存为...”,它会正确打开。 另外,如果我通过 VBA 宏保存文件,但使用 .xls 格式,它也可以正确打开。
这是我尝试过的代码:
Sub EMAIL()
ActiveWorkbook.Save
Dim Fecha As String
Dim Ruta_archivo As String
Dim Ruta As String
Dim Nombre_archivo As String
Fecha = Right$(Year(Date), 4) + Right$(100 + Month(Date), 2) +
Right$(100 + Day(Date), 2)
Ruta = "path"
Nombre_archivo = "filename"
Ruta_archivo = Ruta + "\" + CStr(Year(Date)) + "\" +
MonthName(Month(Date), False) + "\" + Nombre_archivo + Fecha + ".xlsx"
'Crear copia
ActiveWorkbook.SaveCopyAs Filename:=Ruta_archivo
End Sub
我希望文件能够正确打开。
原始文件格式为.xlsm
这就是你的问题的原因。
您有一个 .xlsm 文件,您可以使用 .xlsx 扩展名保存该文件的副本。那是行不通的。您可以将文件名更改为以 .xlsm 结尾,或者通过先制作副本将其显式保存为 .xlsx 文件:
ActiveWorkbook.Sheets.Copy ' Creates a new workbook with a copy of all sheets
ActiveWorkbook.SaveAs FileName:=Ruta_archivo, FileFormat:=xlWorkbookDefault ' Saves it as .xlsx