OlegSmirnov
Новичок
- Сообщения
- 52
- Репутация
- 0
Добрый вечер, уважаемые программисты.
Помогите решить проблему.
Есть скрипт, отслеживающий изменение положения определенной фигуры в открытой книге эксель (64573.xls).
Но работает он только при запуске из консоли по нажатию F5.
Как заставить работать этот скрипт - не по F5 в консоли, а из трея ?
То есть, чтобы при открытии - скрипт висел в трее и сообщения "Фигура изменилась!" выдавал - не в консоли, а в виде появляющегося окна.
Помогите решить проблему.
Есть скрипт, отслеживающий изменение положения определенной фигуры в открытой книге эксель (64573.xls).
Но работает он только при запуске из консоли по нажатию F5.
Как заставить работать этот скрипт - не по F5 в консоли, а из трея ?
То есть, чтобы при открытии - скрипт висел в трее и сообщения "Фигура изменилась!" выдавал - не в консоли, а в виде появляющегося окна.
Код:
#include <Excel.au3>
$oExcel = _Excel_Open()
$oBook = _Excel_BookOpen($oExcel, @ScriptDir & "\64573.xls")
$oBook.Sheets('Лист3').Select
$oShape = $oBook.ActiveSheet.Shapes("Ромб 7")
ConsoleWrite("X = " & $oShape.Left & @CRLF)
ConsoleWrite("Y = " & $oShape.Top & @CRLF)
ConsoleWrite("W = " & $oShape.Width & @CRLF)
ConsoleWrite("H = " & $oShape.Height & @CRLF)
Local $x = $oShape.Left
Local $y = $oShape.Top
Local $w = $oShape.Width
Local $h = $oShape.Height
While 1
_Check($x, $oShape.Left)
_Check($y, $oShape.Top)
_Check($w, $oShape.Width)
_Check($h, $oShape.Height)
Sleep(10)
WEnd
Func _Check(ByRef $variable, $property)
if $variable <> $property Then
ConsoleWrite("Фигура изменилась!" & @CRLF)
$variable = $property
EndIf
EndFunc
_Excel_Close($oExcel)