Синтаксис .SaveAs
является
expression.SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)
Обратитесь к помощнику Excel для получения более подробной информации. При сохранении книги минимум двух параметров, которые вы должны указать, - FileName
и FileFormat
Если вы хотите сохранить файл в виде файла без макроса, вам необходимо будет указать его формат.
Например
ActiveWorkbook.SaveAs Filename:="C:\" & Format(Range("E19"), "mmm-d-yyyy") & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook
или более упрощенный подход
Sub SaveSheet()
Dim FName As String
ActiveSheet.Copy
With ActiveSheet.UsedRange
.Copy
.PasteSpecial xlValues
.PasteSpecial xlFormats
End With
Application.CutCopyMode = False
FName = "C:\" & Format(Range("E19"), "mmm-d-yyyy") & ".xlsx"
ActiveWorkbook.SaveAs Filename:=FName, _
FileFormat:=xlOpenXMLWorkbook
End Sub
Аналогично, если вы хотите сохранить файл с макросами выше код становится
Sub SaveSheet()
Dim FName As String
ActiveSheet.Copy
With ActiveSheet.UsedRange
.Copy
.PasteSpecial xlValues
.PasteSpecial xlFormats
End With
Application.CutCopyMode = False
FName = "C:\" & Format(Range("E19"), "mmm-d-yyyy") & ".xlsm"
ActiveWorkbook.SaveAs Filename:=FName, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
Вот некоторые commnon форматы файлов
50 = xlExcel12 (Excel Binary Workbook in 2007-2013 with or without macro's, xlsb)
51 = xlOpenXMLWorkbook (without macro's in 2007-2013, xlsx)
52 = xlOpenXMLWorkbookMacroEnabled (with or without macro's in 2007-2013, xlsm)
56 = xlExcel8 (97-2003 format in Excel 2007-2013, xls)
спасибо Сиддхарту, единственное, что я до сих пор путаю, это этот свободный макрос? что это значит? – Behseini
Когда вы сохраняете файлы xlsx, он не сохраняет макросы. Возможно, вы захотите увидеть [ЭТО] (http://stackoverflow.com/questions/20580359/what-are-macros-in-ms-excel/20584444#20584444) –
спасибо, всего лишь одну последнюю вещь, если я хочу назвать файл для explple TestSheet.xls, где exavtly я должен положить его после C:? – Behseini