Что нового

Как заставить скрипт не открывать файл заново, а искать его среди открытых окон

Werwolfik

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

Имеется скрипт - запускающий макрос в конкретном документе xls
Но этот скрипт - сперва открывает файл xls, тогда как открывать его не надо - он уже закрыт.
Код:
#include <Excel.au3>

$oExcel = _Excel_Open()
$oBook = _Excel_BookOpen($oExcel, @ScriptDir & "\Книга.xls")

;~ $oBook.Sheets('Лист3').Select
$oShape = $oBook.ActiveSheet.Shapes("Rectangle 12")
$oExcel.Run($oShape.OnAction)
$oBook.Sheets('Лист1').Select

Подскажите - чем заменить команду Excel_Open , чтобы скрипт не открывал всякий раз - файл Книга.xls, а искал бы его среди уже открытых окон по названию Title ?
(А если бы не находил его среди открытых окон - писал бы "Окно не найдено")
 

Вложения

  • Прикрепленный файл.rar
    12 КБ · Просмотры: 3

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
Так?
Код:
#include <MsgBoxConstants.au3>
#include <Excel.au3>

Local $oBook = _Excel_BookAttach(@ScriptDir & "\Книга.xls")
If @error Then Exit MsgBox($MB_ICONERROR + $MB_TOPMOST, "Ошибка", "Окно не найдено")

Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_ICONERROR + $MB_TOPMOST, "Ошибка", "Не удалось запустить Excel")

Local $oShape = $oBook.ActiveSheet.Shapes("Rectangle 12")
$oExcel.Run($oShape.OnAction)
$oBook.Sheets('Лист1').Select
 
Автор
W

Werwolfik

Новичок
Сообщения
19
Репутация
0
Tempo - в скрипте какие-то неполадки.

При закрытом файле Книга.xls - пишет : "Окно не найдено"

При открытом файле Книга.xls - выдает такую ошибку:
 

Вложения

  • Безымянный.jpg
    Безымянный.jpg
    29.5 КБ · Просмотры: 6

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
Werwolfik, у вас имя фигуры "Rectangle 12"?


Добавлено:
Сообщение автоматически объединено:

С вашим скриптом и файлом что вы приложили возникает такая же ошибка потому что имя фигуры в файле "Прямоугольник 12"
 
Автор
W

Werwolfik

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