Что нового

Срабатывание кода, без выделения окна

Werwolfik

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

Имеется код, выполняющий макрос в открытой книге эксель.
Однако при выполнении - этот код - обязательно делает окно книги "Книга1.xls" - активным.

Подскажите как кодом автоит - выполнить макрос в "Книга1.xls" - не делая при этом данное окно - активным ?
Код:
#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("Прямоугольник 12")
$oExcel.Run($oShape.OnAction)
 

Вложения

  • Книга1.rar
    12.5 КБ · Просмотры: 1

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Код:
Local $oExcel = _Excel_Open(False)
 
Автор
W

Werwolfik

Новичок
Сообщения
19
Репутация
0
ra4o, теперь окно - исчезает.

Я имел ввиду - не делать окно активным.
Чтобы оно было на виду, но не становилось при этом активным.
 

Tempo

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

_Example()

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

	Local $oExcel = $oBook.Application

	Local $oShape = $oBook.ActiveSheet.Shapes("Прямоугольник 12")
	$oExcel.Run($oShape.OnAction)
EndFunc   ;==>_Example
 
Автор
W

Werwolfik

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