_ExcelReadCell
Возвращает значение целевой ячейки активного рабочего листа открытой рабочей книги Excel.
#include <Excel.au3>
_ExcelReadCell($oExcel, $sRangeOrRow [, $iColumn = 1])
Параметры
$oExcel | Ссылка на COM-объект "Excel.Application" полученная ранее вызванными _ExcelBookOpen(), _ExcelBookNew(), или _ExcelBookAttach() |
$sRangeOrRow |
Адрес ячейки в формате A1, или номер целевой строки - в случае если адрес целевой ячейки указывается в формате R1C1(номер строки\номер столбца) |
$iColumn |
[необязательный] Номер столбца, если адрес целевой ячейки указывается в формате R1C1(номер строки\номер столбца) (по умолчанию = 1) |
Возвращаемое значение
Успех: | Возвращает значение целевой ячейки |
Ошибка: | Возвращает 0, Устанавливает значение флага ошибки @error: |
@error: | 0 - Скрипт завершил работу без ошибок |
1 - Ошибка OLE/COM ($oExcel), возможно указанный объект не существует | |
2 - Значение параметра не является числом, или недопустимо | |
@extended: | 0 - Ошибка в значении строки ($sRangeOrRow) |
1 - Ошибка в значении столбца ($iColumn) |
Примечания
Эта функция возвращает значение одной ячейки за один вызов.См. также
_ExcelReadArrayПример
; **************************************************
; Пример 1 - Считывает значения из целевой ячейки активного листа открытой рабочей книги Excel
; **************************************************
#include <Excel.au3>
Local $oExcel = _ExcelBookNew() ; Создаем новую рабочую книгу
_ExcelWriteCell($oExcel, "Строка записана скриптом AutoIt", 1, 1) ; Записываем данные в ячейку
$sCellValue = _ExcelReadCell($oExcel, 1, 1) ; Читаем данные из ячейки
MsgBox(4096, "", "Значение ячейки: " & @CRLF & '"' & $sCellValue & '"')
MsgBox(4096, "_ExcelReadCell | Пример 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) ; Записываем данные в ячейку
Next
;Циклически используем метод _ExcelReadCell, и отображаем в окне возвращаемое им значение на каждом шаге цикла
For $i = 1 To 5
$sCellValue = _ExcelReadCell($oExcel, $i, 1)
MsgBox(4096, "", "Значение ячейки " & "A" & $i & ":" & @CRLF & $sCellValue, 2)
Next
MsgBox(4096, "_ExcelReadCell | Пример 2", "Демонстрация завершена, нажмите ОК")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; Сохраняем файл в директории временных файлов, перезаписывая если необходимо.
_ExcelBookClose($oExcel) ; Закрываем рабочую книгу