_ExcelWriteArray
Передает данные из массива в ячейки целевой рабочей книги Excel, заполняя их значениями вертикально или горизонтально
#include <Excel.au3>
_ExcelWriteArray($oExcel, $iStartRow, $iStartColumn, $aArray [, $iDirection = 0 [, $iIndexBase = 0]])
Параметры
$oExcel | Ссылка на COM-объект "Excel.Application" полученная ранее вызванными _ExcelBookOpen(), _ExcelBookNew(), или _ExcelBookAttach() |
$iStartRow |
Строка целевой ячейки (с которой начнется передача данных из массива) |
$iStartColumn |
Столбец целевой ячейки (с которой начнется передача данных из массива) |
$aArray |
Целевой массив |
$iDirection |
[необязательный] Флаг, определяющий направление в котором данные из массива будут передаваться в ячейки (0=горизонтально(вправо), 1=вертикально(вниз)) |
$iIndexBase |
[необязательный] Флаг, указывающий нижнюю границу индексов целевого массива (Option Base) 0 или 1 |
Возвращаемое значение
Успех: | Возвращает 1 |
Ошибка: | Возвращает 0, Устанавливает значение флага ошибки @error: |
@error: | 0 - Скрипт завершил работу без ошибок |
1 - Ошибка OLE/COM ($oExcel), возможно указанный объект не существует | |
2 - Недопустимое значение параметра (см.@extended) | |
3 - Целевой массив не существует, или не является массивом. | |
4 - Недопустимое значение параметра ($iDirection) | |
@extended: | 0 - Ошибка в значении строки ($iStartRow) |
1 - Ошибка в значении столбца (iStartColumn) |
Примечания
Внимание!!! документы разных форматов MS Office имеют различные ограничения по количеству столбцов:Пример
; ***************************************************************
; Пример 1 - Записывает значения массива в ячейки активного листа открытой рабочей книги Excel
; ***************************************************************
#include <Excel.au3>
Local $oExcel = _ExcelBookNew() ; Создаем новую рабочую книгу
;Объявление массива
Local $aArray[5] = ["январь", "февраль", "март", "апрель", "май"] ; Заполняем массив названиями месяцев
_ExcelWriteArray($oExcel, 1, 1, $aArray) ; Записываем содержимое массива в ячейки листа - в горизонтальном направлении(вправо)
_ExcelWriteArray($oExcel, 1, 1, $aArray, 1) ; Записываем содержимое массива в ячейки листа - в вертикальном направлении(вниз), значение "A1" перезаписывается
MsgBox(4096, "_ExcelWriteArray | Пример 1", "Демонстрация завершена, нажмите ОК")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; Сохраняем файл в директории временных файлов, перезаписывая если необходимо.
_ExcelBookClose($oExcel) ; Закрываем рабочую книгу