; ***********************************************
; Пример 1 - Сохранение рабочей книги под другим именем, без каких либо оповещений Excel
; ***********************************************
#include <Excel.au3>

$oExcel = _ExcelBookNew(1) ; Создаем новую рабочую книгу Excel
_ExcelBookSaveAs($oExcel, @TempDir & "\SaveAsExample", "xls", 0, 1) ; Сохраняем книгу в директории временных файлов с именем "SaveAsExample.xls", при необходимости перезаписывая, без оповещений
_ExcelBookClose($oExcel)

If Not @error Then MsgBox(4096, "_ExcelBookSaveAs | Пример 1", "Файл успешно сохранен!", 3) 
_ExcelBookClose($oExcel, 1, 0) ; Этот метод при указанных параметрах закрывает рабочую книгу сохраняя изменения без каких либо оповещений Excel


; **********************************************
; Пример 2 - Перезапись файла установлением пароля: "Password", Открытие книги для проверки защиты
; **********************************************
#include <Excel.au3>

$oExcel = _ExcelBookNew(1) ; Создаем новую рабочую книгу Excel
_ExcelBookSaveAs($oExcel, @TempDir & "\SaveAsExample", "xls", 0, 1, "Password") ; Сохраняем книгу в директории временных файлов с именем "SaveAsExample.xls", при необходимости перезаписывая, без оповещений, защищая паролем "Password"
_ExcelBookClose($oExcel)

If Not @error Then MsgBox(4096, "_ExcelBookSaveAs | Пример 2", "Файл успешно сохранен!")
_ExcelBookClose($oExcel, 1, 0) ; Этот метод при указанных параметрах закрывает рабочую книгу сохраняя изменения без каких либо оповещений Excel

If Not @error Then MsgBox(4096, "_ExcelBookSaveAs | Пример 2", "Попытаемся открыть сохраненную книгу для того чтобы проверить созданный пароль")
$oExcel = _ExcelBookOpen(@TempDir & "\SaveAsExample.xls", 1, False) ; Открывает сохраненную книгу для проверки защиты паролем

;*************************************************************************************************
;Пример 3 - Модификация Excel.au3, для использования в методе _ExcelBookSaveAs форматов MS Office Excel 2007-2010
;*************************************************************************************************
;В данном коде описываются лишь некоторые из форматов доступных для сохранения рабочей книги в MS Office Excel 2007-2010
;Все остальные форматы вы можете описать по аналогии, для этого посетите MSDN в разделе Visual Basic for Applications
;найдите описания констант форматов и их числовые эквиваленты ( "http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.xlfileformat.aspx" )
;после чего добавьте константы с соответствующими числовыми значениями в Excel.au3, и используйте их в этом коде по аналогии

;Откройте Excel.au3, к описанию констант добавьте 
Global Const $xlExcel12 = 50 ; расширение xlsb (Excel Binary Workbook in 2007-2010 with or without macro's) 
Global Const $xlOpenXMLWorkbook = 51 ; расширение xlsx (xlOpenXMLWorkbook without macro's in 2007-2010)
Global Const $xlOpenXMLWorkbookMacroEnabled = 52 ; расширение xlsm (xlOpenXMLWorkbookMacroEnabled with or without macro's in 2007-2010)
Global Const $xlExcel8 = 56 ;расширение xls (xlExcel8 97-2003 format in Excel 2007-2010)

;перейдите на строку № 339 и замените блок IF - Else - EndIf следующим кодом 
If $sType = "xls" Or $sType = "csv" Or $sType = "txt" Or $sType = "template" Or $sType = "html" Or $sType = "xlsb" Or $sType = "xlsx" Or $sType = "xlsm" then 
		If $sType = "xls" Then $sType = $xlExcel8
		If $sType = "csv" Then $sType = $xlCSVMSDOS
		If $sType = "txt" Then $sType = $xlTextWindows
		If $sType = "template" Then $sType = $xlTemplate
		If $sType = "html" Then $sType = $xlHtml
		If $sType = "xlsx" Then $sType = $xlOpenXMLWorkbook	
		If $sType = "xlsm" Then $sType = $xlOpenXMLWorkbookMacroEnabled
		If $sType = "xlsb" Then $sType = $xlExcel12
Else
	Return SetError(2, 0, 0)
EndIf

;SciTE Script Editor может не дать вам перезаписать оригинальный Excel.au3, => сохраните его как Excel1.au3 а впоследствии
;удалите Excel.au3 через проводник , а Excel1.au3 переименуйте в Excel.au3, или импортируйте UDF как есть #include <Excel1.au3> 
;Не используйте эти модификации если вы не используете MS Office Excel 2007-2010!!!