Код:
Func _SaveXLSX($sFilePath, $array, $SColumn, $SRow) $hStarttime = _Timer_Init() ProgressOn("Сохранение файла MS Excel", "Подождите, идет работа", "Working...") Local $oExcel = _Excel_Open(False, False, False, False, True) ; создать объект Excel, False = невидимый If @error Then ProgressOff() MsgBox($MB_SYSTEMMODAL, "Ошибка", "Не удалось запустить Excel. На компьютере установлен MS Excel?", 0, $MB_OK) ; выйти, если не удалось создать объект Excel Return EndIf ProgressSet(20, "MS Excel успешно инициализирован") ProgressSet(25, "Создание файла") If FileExists($sFilePath) Then Local $oWorkbook = _Excel_BookOpen($oExcel, $sFilePath, False, False) Else Local $oWorkbook = _Excel_BookNew($oExcel, 1) _Excel_BookSaveAs($oWorkbook, $sFilePath) EndIf If @error Then ProgressOff() _Excel_Close($oExcel) MsgBox($MB_SYSTEMMODAL, "Ошибка", "Не удалось создать файл. Причина неизвестна", 0, $MB_OK) ; выйти, если не удалось создать объект Excel Return EndIf ProgressSet(30, "Файл успешно создан") ProgressSet(35, "Заполнение файла") _Excel_RangeWrite($oWorkbook, Default, $array, _ExcelColumnLetter($SColumn) & $SRow) If @error Then ProgressOff() _Excel_BookSave($oWorkbook) _Excel_BookClose($oWorkbook) _Excel_Close($oExcel) MsgBox($MB_SYSTEMMODAL, "Ошибка", "Не удалось завершить операцию.", 0, $MB_OK) ; выйти, если не удалось создать объект Excel Return EndIf ProgressSet(95, "Операция выполнена успешно, открываем шаблон") ProgressSet(100, "Операция выполнена успешно, открываем шаблон") ProgressOff() _Excel_BookSave($oWorkbook) _Excel_BookClose($oWorkbook) _Excel_Close($oExcel) $oExcel = "" ;clean var ; GUICtrlSetData($progress, "Выгрузка шаблона MS Excel произведена успешно, время выгрузки - " & Round(_Timer_Diff($hStarttime) / 1000, 2) & " c.") EndFunc ;==>_SaveXLSX