_ExcelWriteFormula
Назначение формулы в синтаксисе VBA ячейке активного листа открытой рабочей книги Excel
Внимание!!! _ExcelWriteFormula() - предназначена для записи формул в синтаксисе VBA
Если-же вы хотите записывать формулы в привычном для Вас виде (так-же как в Excel) используйте _ExcelWriteCell() (см.Пример 1)
#include <Excel.au3>
_ExcelWriteCell($oExcel, $sValue, $sRangeOrRow [, $iColumn = 1])
Параметры
$oExcel | Ссылка на COM-объект "Excel.Application" полученная ранее вызванными _ExcelBookOpen(), _ExcelBookNew(), или _ExcelBookAttach() |
$sValue |
Записываемое значение |
$sRangeOrRow |
Адрес ячейки в формате A1, или номер целевой строки - в случае если адрес целевой ячейки указывается в формате R1C1 |
$iColumn |
[необязательный] Номер столбца, если адрес целевой ячейки указывается в формате R1C1(номер строки\номер столбца) (по умолчанию = 1) |
Возвращаемое значение
Успех: | Возвращает 1 |
Ошибка: | Возвращает 0, Устанавливает значение флага ошибки @error: |
@error: | 0 - Скрипт завершил работу без ошибок |
1 - Ошибка OLE/COM ($oExcel), возможно указанный объект не существует | |
2 - Недопустимое значение параметра ($sRangeOrRow) | |
@extended: | 0 - Ошибка в значении строки ($sRangeOrRow) |
1 - Ошибка в значении столбца ($iColumn) |
Примечания
Внимание!!! документы разных форматов MS Office имеют различные ограничения по количеству столбцов и строк:См. также
_ExcelWriteCellПример
; ********************************************
; Пример 1 - Использование метода _ExcelWriteCell для записи формулы суммы в ячейку активного листа целевой рабочей книги Excel
; ********************************************
#include <Excel.au3>
Local $oExcel = _ExcelBookNew() ; Создаем новую рабочую книгу
; Циклически заполним столбец значениями
For $i = 1 To 20
_ExcelWriteCell($oExcel, $i, $i, 1) ; Запись в ячейку
Next
_ExcelWriteCell($oExcel, "=СУММ(A1:A20)", 1, 3) ; Запись в ячейку текста формулы
MsgBox(4096, "_ExcelWriteCell | Пример 1", "Демонстрация завершена, нажмите ОК")