Что нового

Как заставить скрипт - щелкнуть по фигуре в экселе

OlegSmirnov

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

Есть скрипт, который - изменяет положение определенной автофигуры в открытом файле эксель - через редактор AutoIt (по F5).
В данном случае - это фигура "Овал 2".

Как заставить этот скрипт - не изменять размеры этой фигуры, а щелкнуть по фигуре "Овал 2", на листе 3, файла 345321.xls ?
Код:
#include <Excel.au3>

$oExcel = _Excel_Open()
$oBook = _Excel_BookOpen($oExcel, @ScriptDir & "\345321.xls")

$iCount = $oBook.ActiveSheet.Shapes.Count
ConsoleWrite("Фигур: " & $iCount & @CRLF)

$sName = $oBook.ActiveSheet.Shapes(2).Name
ConsoleWrite("Имя второй: " & $sName & @CRLF)

; $oShape = $oBook.ActiveSheet.Shapes("Oval 2") ; по имени
$oShape = $oBook.ActiveSheet.Shapes(2) ; по индексу
Sleep(555)
$oShape.Select
Sleep(555)
$oShape.ScaleWidth(1.5, False)
Sleep(555)
$oShape.ScaleHeight(2, False)
Sleep(555)
$oShape.IncrementLeft(-100)

ConsoleWrite("Ширина: " & $oShape.Width & @CRLF)
ConsoleWrite("Высота: " & $oShape.Height & @CRLF)
 

Вложения

  • 345321.rar
    13.9 КБ · Просмотры: 2

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Выполнить макрос, привязанный к фигуре
Код:
#include <Excel.au3>

$oExcel = _Excel_Open()
$oBook = _Excel_BookOpen($oExcel, @ScriptDir & "\345321.xls")

;~ $oBook.Sheets('Лист3').Select
$oShape = $oBook.ActiveSheet.Shapes("Oval 2")
$oExcel.Run($oShape.OnAction)
 
Верх