Версия AutoIt: 3.
Описание:
Здравствуйте.
Имеется скрипт, который выдает ошибку в консоли:
При этом сам скрипт - свою задачу прекрасно выполняет (перед тем как выдать ошибку).
В общем проблема только в том, что этот скрипт срабатывает только один раз - и его приходится запускать по новой.
Как сделать, чтобы этот скрипт - не реагировал на $oExcel^ ERROR и не вылетал после нее, а продолжал бы работу ?
Примечания:
Сейчас использую вот такой дополнительный скрипт, чтобы решить эту проблему.
Но он какой-то уж слишком примитивный:
Описание:
Здравствуйте.
Имеется скрипт, который выдает ошибку в консоли:
Код:
$oExcel.Run("test")
$oExcel^ ERROR
В общем проблема только в том, что этот скрипт срабатывает только один раз - и его приходится запускать по новой.
Как сделать, чтобы этот скрипт - не реагировал на $oExcel^ ERROR и не вылетал после нее, а продолжал бы работу ?
Код:
#include <MsgBoxConstants.au3>
#include <Excel.au3>
Opt('WinTitleMatchMode', -2)
Local $sFile = 'F:\-2\File.txt'
Local $iSizeNew, $iSize = FileGetSize($sFile)
If @error Then Exit 10
While Sleep(200)
$iSizeNew = FileGetSize($sFile)
If @error Then Exit 20
If $iSizeNew <> $iSize Then
_Example()
$iSize = $iSizeNew
EndIf
WEnd
Func _Example()
Local $oBook = _Excel_BookAttach(@ScriptDir & "\1.xls")
If @error Then Exit MsgBox($MB_ICONERROR + $MB_TOPMOST, "Ошибка", "Окно не найдено")
Local $oExcel = $oBook.Application
$oExcel.Run("test")
EndFunc ;==>_Example
Сейчас использую вот такой дополнительный скрипт, чтобы решить эту проблему.
Но он какой-то уж слишком примитивный:
Код:
Opt('WinTitleMatchMode', -2)
While 1
WinWaitActive("Autoit Error")
Sleep(500)
WinClose("Autoit Error")
Sleep(100)
ShellExecute("F:\-2\скрипт.au3")
WEnd