Функция _ExcelColumnInsert

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


_ExcelColumnInsert

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

#include <Excel.au3>
_ExcelColumnInsert($oExcel, $iColumn [, $iNumCols = 1])

Параметры

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

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

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

Примечания

Добавление столбцов этим методом, вызывает сдвиг заполненных столбцов вправо.
---------------------------------------------------------------------------
Внимание!!! документы разных форматов MS Office имеют различные ограничения по количеству столбцов:
*.xls (формат xlExcel8, стандартный для MS Office 2003,97,95) имеет ограничения в 255 столбцов
*.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(3500) ;Пауза 3,5 сек.

_ExcelColumnInsert($oExcel, 1, 1) ;Вставляем один столбец пред столбцом 1

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

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

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

For $i = 1 To 10
    For $j = 1 To 10
        _ExcelWriteCell($oExcel, Round(Random(1, 100), 0), $i, $j) ;Записываем в ячейку случайное целое число из диапазона от 1 до 100
    Next
Next

ToolTip("Обратите внимание на первый и второй столбцы......")
Sleep(3500) ;Пауза 3,5 сек.

_ExcelColumnInsert($oExcel, 2, 3) ;Вставляем 3 столбца перед 2 столбцом

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