我使用宏来创建每日报告。宏将xls报告保存为xls历史记录。由于文件太大,我想将报告另存为xlsb。两个问题。我正在使用的宏脚本将运行,但以后无法打开xlsb文件。收到的消息是


txtFileName = Format(Date - 1, "yyyymmdd")
ActiveWorkbook.SaveAs Filename:= _
    "\\Clt-stor01a\CA_Services\RDN Reports\ForUploadPrev\RDN Activity Report." & txtFileName & ".xlsb", _
    FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
    ReadOnlyRecommended:=False, CreateBackup:=False
    txtFileName = Format(Date - 1, "yyyymmdd")

注意:我还需要一个脚本,当文件名中包含日期且文件的日期为昨天的日期(例如“RDN Activity Report.20150726”)时,该脚本可以打开文件

最佳答案

使用SaveAs参数FileFormat:

  • 50 = xlExcel12(2007-2013年的Excel Binary Workbook,带有或不带有宏,
    xlsb)
  • 51 = xlOpenXMLWorkbook(不包含2007-2013年的宏,xlsx)
  • 52 = xlOpenXMLWorkbookMacroEnabled(在2007-2013年带有或不带有宏,xlsm)
  • 56 = xlExcel8(Excel 2007-2013中的97-2003格式,xls)
    ActiveWorkbook.SaveAs "C:\temp\text.xlsb", fileformat:=50
    
  • 09-26 20:28