Функция _ExcelSheetDelete

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


_ExcelSheetDelete

Удаляет лист из коллекции листов открытой рабочей книги Excel.

#include <Excel.au3>
_ExcelSheetDelete($oExcel, $vSheet [, $fAlerts = False])

Параметры

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

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

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

Примечания

Внимание!!! В MS Ofiice Excel целые положительные числа могут быть именем листа (н\п "1").
Этот метод воспринимает целые положительные числа переданные в параметр $vSheet как порядковый номер листа в коллекции листов целевой рабочей книги, все остальные значения воспринимаются как имя листа.
Будьте внимательны при работе с листами, именем которых являются целые положительные числа.

Пример

; **************************************************************************************************
; Пример 1 - Удаляет лист из коллекции листов открытой рабочей книги Excel, по указанному имени листа
; **************************************************************************************************
#include <Excel.au3>

Local $oExcel = _ExcelBookNew() ; Создаем новую рабочую книгу

ToolTip('Обратите внимание на индикатор активного листа' & @CRLF & 'Сейчас будет удален лист с именем: "Лист1"...')
Sleep(3500) ; Пауза 3,5 сек.

_ExcelSheetDelete($oExcel, "Лист1") ; Удаляем лист по указанному имени листа "Лист1"

MsgBox(4096, "_ExcelSheetDelete | Пример 1", "Демонстрация завершена, нажмите ОК")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; Сохраняем файл в директории временных файлов, перезаписывая если необходимо.
_ExcelBookClose($oExcel) ; Закрываем рабочую книгу

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

Local $oExcel = _ExcelBookNew() ; Создаем новую рабочую книгу

ToolTip('Обратите внимание на индикатор активного листа' & @CRLF & 'Сейчас будет удален лист с порядковым номером: 1')
Sleep(3500) ; Пауза 3,5 сек.

_ExcelSheetDelete($oExcel, 1) ; Удаляем из коллекции листов лист под номером 1

MsgBox(4096, "_ExcelSheetDelete | Пример 1", "Демонстрация завершена, нажмите ОК")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; Сохраняем файл в директории временных файлов, перезаписывая если необходимо.
_ExcelBookClose($oExcel) ; Закрываем рабочую книгу