↑  ←  Описание функции


_ExcelBookClose

Закрывает открытую рабочую книгу Excel.

#include <Excel.au3>
_ExcelBookClose($oExcel [, $fSave = 1 [, $fAlerts = 0]])

Параметры

$oExcel Ссылка на COM-объект "Excel.Application" полученная ранее вызванными _ExcelBookOpen(), _ExcelBookNew(), или _ExcelBookAttach()
$fSave [необязательный] Флаг определяющий сохранение рабочей книги Excel перед закрытием (0=не сохранять, 1=сохранять) (по умолчанию = 1)
$fAlerts [необязательный] Флаг определяющий наличие оповещений/запросов Excel (0=отключены, 1=включены) (по умолчанию = 0)

Возвращаемое значение

Успех:Возвращает 1
Ошибка:Возвращает 0, Устанавливает значение флага ошибки @error:
@error:0 - Скрипт завершил работу без ошибок
1 - Ошибка OLE/COM ($oExcel), возможно указанный объект не существует.
2 - Объект открыт только для чтения

Примечания

Внимание!!! переменная переданная в параметр $oExcel по прежнему будет содержать ссылку на COM объект Excel.Application, но после закрытия книги - закрывается и подключение к COM-серверу ее объекта, ссылка на UUID подключения становится недействительной.

Пример

; ***************************************************************
; Пример 1 - Открывает новую рабочую книгу Excel и закрывает её с параметрами "по умолчанию"
; ***************************************************************
#include <Excel.au3>

$oExcel = _ExcelBookNew() ; Создаём новую рабочую книгу Excel
_ExcelWriteCell($oExcel, "Изменения", "A2") ; Для наглядности примера вносим изменения в ячейку "A1"
If Not @error Then MsgBox(4096, "_ExcelBookClose | Пример 1", "Нажмите ОК чтобы закрыть книгу")
_ExcelBookClose($oExcel, 0, 1) ;Этот метод при указанных параметрах закрывает рабочую книгу, если в ней были сделаны изменения - вызывается стандартный запрос Excel на сохранение изменений


; ***************************************************************
; Пример 2 - Открывает новую рабочую книгу Excel и закрывает её, сохраняя изменения, без каких либо оповещений Excel
; ***************************************************************
#include <Excel.au3>

$oExcel = _ExcelBookNew() ; Создаём новую рабочую книгу Excel
_ExcelWriteCell($oExcel, "Изменения", "A2") ; Для наглядности примера вносим изменения в ячейку "A1"
If Not @error Then MsgBox(4096, "_ExcelBookClose | Пример 2", "Нажмите ОК чтобы закрыть книгу")
_ExcelBookClose($oExcel, 1, 0) ;Этот метод при указанных параметрах закрывает рабочую книгу, сохраняет изменения без каких либо запросов Excel