• SaveAs in Excel 20072010


    You see a lot of old SaveAs code that does not specify the FileFormat
    parameter. In Excel versions before Excel 2007, code without this parameter
    will not cause too many problems because Excel will use the current FileFormat
    of the existing file -- and the default FileFormat for new files is a normal workbook.

    But because there are so many new file formats in Excel 2007-2010, we shouldn't
    use code like this that does not specify the FileFormat parameter.

    In Excel 2007-2010, SaveAs requires you to provide both the FileFormat parameter
    and the correct file extension.

    For example, in Excel 2007-2010, this will fail if the ActiveWorkbook is not an xlsm file
    ActiveWorkbook.SaveAs "C:\ron.xlsm"

    This code will always work
    ActiveWorkbook.SaveAs "C:\ron.xlsm", fileformat:=52
    ' 52 = xlOpenXMLWorkbookMacroEnabled = xlsm (with macro's in 2007-2010)


    These are the main file formats in Excel 2007-2010:

    51 = xlOpenXMLWorkbook (without macro's in 2007-2010, xlsx)
    52 = xlOpenXMLWorkbookMacroEnabled (with or without macro's in 2007-2010, xlsm)
    50 = xlExcel12 (Excel Binary Workbook in 2007-2010 with or without macro's, xlsb)
    56 = xlExcel8 (97-2003 format in Excel 2007-2010, xls)

    Note: I always use the FileFormat numbers instead of the defined constants
    in my code so that it will compile OK when I copy the code into an Excel
    97-2003 workbook. (For example, Excel 97-2003 won't know what the
    xlOpenXMLWorkbookMacroEnabled constant is.)

  • 相关阅读:
    多线程22:线程池
    多线程21:信号灯法
    多线程20:管程法
    多线程19:生产者消费者模式
    多线程18:Lock锁
    多线程17:死锁
    多线程16:CopyOnWriteArrayList
    多线程15:线程同步
    多线程14:三大不安全案例
    业余草 maven异常:Updating Maven Project 的统一解决方案
  • 原文地址:https://www.cnblogs.com/silva/p/2008732.html
Copyright © 2020-2023  润新知