将.xlsm保存为xlsx到单元格+添加日期中定义的目标

时间:2016-03-11 13:28:00

标签: excel vba excel-vba xlsx xlsm

快速提问,我正在尝试保存一个文件,其中目标是在单元格A1中定义的(因为该文件可以位于不同的服务器上,具体取决于用户),加上保存日期。你能帮帮我吗? 我目前拥有的VBA如下:

Sub Macro2()

    'turn off pop-ups
    Application.DisplayAlerts = False
    Range("A15").Select
    Application.CutCopyMode = False
    ActiveWorkbook.SaveAs Filename:= _
        Range("a1") & "CSI_ERE_1" & Today() & ".xlsx" _
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Application.DisplayAlerts = True

End Sub

1 个答案:

答案 0 :(得分:2)

从XLSM保存到XLSX时,我省略了FileFormat的结果。

尝试:

ActiveWorkbook.SaveAs Filename:= Range("A1").Value & "CSI_ERE_1" & Format(Date(), "dd.mm.yy") & ".xlsx"

如果这不起作用:

ActiveWorkbook.SaveAs Filename:= Range("A1").Value & "CSI_ERE_1" & Format(Date(), "dd.mm.yy") & ".xlsx", FileFormat:=51

使用数字文件格式具有更好的向后兼容性,并且由于某些我不知道的原因,似乎比名称常量更容易使用。

文件格式列表及其数值:https://msdn.microsoft.com/en-us/library/office/ff198017.aspx