Функция _ExcelRowInsert

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


_ExcelRowInsert

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

#include <Excel.au3>
_ExcelRowInsert($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) имеет ограничения в 255 столбцов 65 535 строк
*.xlsx,*.xlsb,*.xlsm (XML-форматы MS Office 2007-2010) имеют ограничения в 16 384 столбца и 1 048 576 строк

Пример

; ***************************************************************************
; Пример 1 - Добавление 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 сек.

_ExcelRowInsert($oExcel, 1, 1) ; Вставляем 1 строку над первой строкой

MsgBox(4096, "_ExcelRowInsert | Пример 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(2000) ; Пауза 2 сек.

_ExcelRowInsert($oExcel, 2, 3) ; Вставляем 3 строки над второй строкой

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