Что нового

Отслеживание перемещения фигуры эксель - скриптом в трее

OlegSmirnov

Новичок
Сообщения
52
Репутация
0
Добрый вечер, уважаемые программисты.
Помогите решить проблему.

Есть скрипт, отслеживающий изменение положения определенной фигуры в открытой книге эксель (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)
 

Вложения

  • 64573.rar
    18.6 КБ · Просмотры: 2

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Скомпилируйте скрипт и в нужный момент запускайте ехе-шник, для вывода сообщений замените строку
Код:
ConsoleWrite("Фигура изменилась!" & @CRLF)
например , на эту :
Код:
ToolTip ( "Фигура изменилась!", @DesktopWidth/2,@DesktopHeight/2, "Внимание !" , 1, 2 )
 
Автор
O

OlegSmirnov

Новичок
Сообщения
52
Репутация
0
ra4o, подскажите - как заставить это всплывающее окно - исчезать через 5 секунд ?
(А то оно - всплывает и висит постоянно, и никак его закрыть нельзя.)
 
Автор
O

OlegSmirnov

Новичок
Сообщения
52
Репутация
0
Теперь все стало понятно.
Всем спасибо за ответы.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
OlegSmirnov [?]
Теперь все стало понятно.

[info border=#0000ff float=left]На форуме принято помечать тему решенной после получения ответа на свой вопрос!
Вверху или внизу темы нажмите на ссылку такого вида:
package_old.gif
Тема не решена
[/info]
 
Верх