_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").Пример
; **************************************************************************************************
; Пример 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) ; Закрываем рабочую книгу