Что нового

Реакция смены листа вне зависимости от того в каком экселе открыт файл xls

yl3d

Новичок
Сообщения
70
Репутация
0
Доброе утро.
Посоветуйте, насчет скрипта.

Есть скрипт - реагирующий на щелчок по определенному листу эксель.
Однако этот скрипт обязательно открывает файл экселя 142.xls - определенным видом экселя (их у меня установлено три Е2003,Е2007,Е2013).
А если открыть файл 142.xls - другим видом экселя, то скрипт уже не срабатывает.

Подскажите как заставить скрипт реагировать - вне зависимости от того в каком экселе открыт файл 142.xls ?
(ключевой фактор здесь - имя рабочей книги "142.xls")
Код:
#include <Excel.au3>

$sFilePath = @ScriptDir & "\142.xls"

$oExcel = _Excel_Open()
$oBook = _Excel_BookOpen($oExcel, $sFilePath)
While Sleep(111)
  If $oBook.ActiveSheet.Name = "Лист2" Then
    MsgBox(0, "", "Щелчок по листу!", 1)
    While Sleep(111)
      If $oBook.ActiveSheet.Name <> "Лист2" Then ExitLoop
    WEnd
  EndIf
WEnd
 

Вложения

  • 1.rar
    6.5 КБ · Просмотры: 1

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Если книга Excel уже открыта, а скрипт просто к ней подключается, то можно так :
Код:
#include <Excel.au3>

$sFilePath = @ScriptDir & "\142.xls"

$oExcel = _Excel_Open()
$oBook =_Excel_BookAttach($sFilePath)
While Sleep(111)
  If $oBook.ActiveSheet.Name = "Лист2" Then
    MsgBox(0, "", "Щелчок по листу!", 1)
    While Sleep(111)
      If $oBook.ActiveSheet.Name <> "Лист2" Then ExitLoop
    WEnd
  EndIf
WEnd
 
Автор
Y

yl3d

Новичок
Сообщения
70
Репутация
0
ra4o , все работает.
Спасибо.
 
Верх