Функция _ExcelRowDelete

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


_ExcelRowDelete

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

#include <Excel.au3>
_ExcelRowDelete($oExcel, $iRow [, $iNumRows = 1])

Параметры

$oExcel Ссылка на COM-объект "Excel.Application" полученная ранее вызванными _ExcelBookOpen(), _ExcelBookNew(), или _ExcelBookAttach()
$iRow Номер целевой строки
$iNumRows [необязательный] Количество удаляемых строк вниз относительно целевой строки

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

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

Примечания

Удаление строк этим методом, вызывает сдвиг заполненных строк вверх.
------------------------
Внимание!!! документы разных форматов MS Office имеют различные ограничения по количеству столбцов:
*.xls (формат xlExcel8, стандартный для MS Office 2003,97,95) имеет ограничения в 256 столбцов
*.xlsx,*.xlsb,*.xlsm (XML-форматы MS Office 2007-2010) имеют ограничения в 16 384 столбца

Пример

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

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

For $i = 1 To 5
    _ExcelWriteCell($oExcel, $i, $i, 1) ; Записываем в ячейки, с вертикальным смещением равным нарастанию счетчика, числа от 1 до 5
Next

ToolTip("Обратите внимание на первую строку...")
Sleep(2000) ; Пауза 2 сек.

_ExcelRowDelete($oExcel, 1, 1) ; Удаляет только 1 первую строку

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

; ***************************************************************
; Пример 2 - Удаление нескольких строк из активного листа открытой рабочей книги Excel
; ***************************************************************

#include <Excel.au3>

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

For $i = 1 To 5
    _ExcelWriteCell($oExcel, $i, $i, 1) ; Записываем данные в ячейки с вертикальным смещением равным нарастанию счетчика - числа от 1 до 5
Next

ToolTip("Обратите внимание на третью и четвертую строки")
Sleep(3500) ; Пауза 3,5 сек.

_ExcelRowDelete($oExcel, 3, 2) ; Удаляем 2 строки начиная со строки под номером 3 (включительно)

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