Здравствуйте!
В VBA если выделить строчку кода и запустить макрос, то последний остановится на выделенном фрагменте и можно будет просмотреть значения переменных и другую информацию (выделяется код путём нажатия на левом поле в редакторе).
Так вот, есть ли что-то подобное в Autoit? А то есть скрипт, а понять полностью не могу (скрипт см. ниже - я в нём не понимаю что занчит
). Я понимаю что цикл выполняется пока значение не станет требуемым (не ложным), но как это происходит ... $IsErr становится же всегда равным 0 ... короче не понимаю.
В VBA если выделить строчку кода и запустить макрос, то последний остановится на выделенном фрагменте и можно будет просмотреть значения переменных и другую информацию (выделяется код путём нажатия на левом поле в редакторе).
Так вот, есть ли что-то подобное в Autoit? А то есть скрипт, а понять полностью не могу (скрипт см. ниже - я в нём не понимаю что занчит
Код:
Until Not $IsErr
Код:
; ****************************************************************************************
; Пример 1 - Запись данных в ячейку активного листа целевой рабочей книги Excel
; ****************************************************************************************
#include <Excel.au3>
Local $oExcel = _ExcelBookNew() ; Создаем новую рабочую книгу
Global $IsErr = 0 ; флаг возникновения ошибки
$oErr = ObjEvent("AutoIt.Error", "ErrFunc") ; обработчик COM-ошибок
MsgBox(4096, "_ExcelWriteCell | Пример 0", "Не закрывая это окно установите фокус в любой ячейке открывшейся книги " & @LF & _
"просто введите что-либо в ячейку и не нажимайте ENTER." & @LF & _
"После этого нажмите на ОК в этом сообщении.")
Do ; пытаемся записать в ячейку, пока не исчезнет ошибка
$IsErr = 0
_ExcelWriteCell($oExcel, "Значение записанное скриптом AutoIt", 1, 1) ; если возникнет COM-ошибка сработает ErrFunc() и установит флаг ошибки
Sleep(10)
Until Not $IsErr
MsgBox(4096, "_ExcelWriteCell | Пример 1", "Демонстрация завершена успешно, если решена проблема или фокус не был установлен, нажмите ОК")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; Сохраняем файл в директории временных файлов, перезаписывая если необходимо.
_ExcelBookClose($oExcel) ; Закрываем рабочую книгу
Func ErrFunc() ; функция устанавливает флаг ошибки
$IsErr = 1
EndFunc