Excel VBA - Salvando Planilhas - Parte 01 - Versões entre 97-2003 e 2007-2016 - Use VBA SaveAs in Excel 97-2016
Tome cuidado ao utilizar o velho comando SaveAs sem especificar os seus parâmetros. Nas versões anteriores ao MS Excel 2007, quando não digitávamos o comando SaveAs com os respectivos parâmetros, isso não causava muitos problemas porque o VBE interpretava que essa falta significasse que queríamos gravar a planilha com a extensão XLS, pois, entre as versões 97 até a 2003, estas aceitavam este padrão como um modelo executor de scripts ou código VBA.
Mas devido aos inúmeros formatos disponibilizados pelo Excel a partir das versões de 2007-2016, esta displicência não será mais aceita. Agora precisaremos informar qual o formato de planilha que desejamos gravar.
Por exemplo, entre o Excel 2007-2016, o código falhará se o ActiveWorkbook não for um arquivo xlsm
ActiveWorkbook.SaveAs "E:\Bernardess.xlsm"
Este código sempre funcionará ActiveWorkbook.SaveAs "E:\Bernardess.xlsm", fileformat:=52 ' 52 = xlOpenXMLWorkbookMacroEnabled = xlsm (nos códigos VBA entre as versões 2007-2016)
Abaixo estão os principais formatos suportados pelas versões Excel entre 2007-2016, Note: Nas versões para o Mac os valores são +1:
51 = xlOpenXMLWorkbook (sem macros entre as versões de 2007-2013, xlsx)
52 = xlOpenXMLWorkbookMacroEnabled (com ou sem macros nas versões entre 2007-2013, xlsm)
50 = xlExcel12 (Planilha Binária Excel entre as versões 2007-2013 com ou sem macros, xlsb)
56 = xlExcel8 (Versões entre 97-2003 no formato do Excel 2007-2013, xls)
brazilsalesforceeffectiveness@gmail.com