Функция _ExcelColumnDelete

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


_ExcelColumnDelete

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

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

Параметры

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

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

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

Примечания

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

Пример

; ***************************************************
; Пример 1 - Удаление 1 столбца
; ***************************************************
#include <Excel.au3>

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

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

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

_ExcelColumnDelete($oExcel, 1, 1) ; Удаляем один столбец

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


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

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

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

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

_ExcelColumnDelete($oExcel, 3, 2) ;Удаляем 2 столбца начиная со столбца 3, т.е. столбцы 3 и 4

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