Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Работа с контролами на страницах Excel

Ответить
Настройки темы
Работа с контролами на страницах Excel

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день всем.
Кто-нибудь знает решение по управлению контролами на страницах Excel из AutoIt или AutoItX из c# ?

Отправлено: 10:33, 26-02-2009

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


контролы вроде относятся к окну Excel, а листы/страницы к документу и там не контролы, а ячейки... о чем речь?

Отправлено: 05:13, 27-02-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Имеются ввиду элементы управления, которые можно добавлять на листы экселя в режиме конструктора (кнопки, переключатели, списки, чекбоксы и т.д.).
Потом с ними можно работать из макросов.
Если посмотреть на лист экселя из AutoIt Windwow Info, то их (элементов управления) не видно, ни во вкладке Window, ни во вкладке Control.
И как ими можно управлять из AutoIt или AutoItX не понятно.

Отправлено: 10:25, 27-02-2009 | #3


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


доступ к объектам очевидно через COM, а вот можно ли программно сэмулировать, скажем, клик на кнопке?
...если по простому, то можно так:
Код: Выделить весь код
#include <ExcelCOM_UDF.au3>

$strTitle = "Microsoft Excel - Книга1.xls"
$objApp = _ExcelAttach($strTitle, "Title")

$objApp.Worksheets(1).OLEObjects("CommandButton1").Object.Caption = "My Button"
$objApp.Worksheets(1).OLEObjects("CommandButton1").Object.Activate

WinActivate($strTitle, "")
WinWaitActive($strTitle, "")
Send("{SPACE}")
на всякий случай: Yet Another -- ExcelCOM UDF, Proceeding by Community-Established UDF Standards

Отправлено: 12:41, 27-02-2009 | #4


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


На приведенный код дает ошибку
---------
Line 6 (File "C:\tmp\xls\1.au3"):

$objApp.Worksheets(1).OLEObjects("CommandButton1").Object.Caption = "My Button"
$objApp^ ERROR

Error: Variable must be of type "Object".
---------
По ссылке ходил еще раньше.
Там много чего есть по работе с экселем, но по управлению контролами не нашел ничего...

Отправлено: 13:31, 27-02-2009 | #5


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


ну дык _ExcelAttach() подключается к уже открытой таблице Книга1.xls с контролом "CommandButton1" на 1-м листе

Отправлено: 13:52, 27-02-2009 | #6


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


правильно, книга открыта, на ней кнопка с именем и капшином как в примере кода и при этом ошибка

Отправлено: 14:01, 27-02-2009 | #7


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


как следует из текста ошибки, проблема именно в _ExcelAttach() - она не подключается к документу... собственно, открытие/подключение к книге Excel немного в стороне от заявленного в теме вопроса , проверьте - точно ли соответствует значение $strTitle титлу окна в действительности, попробуйте другие варианты подключения/открытия файлов, проверяйте значение, возвращаемое _ExcelAttach() и аналогичными UDF, например через IsObj()

теперь по теме - COM-модель, используемая в библиотеке ExcelCOM описана на сайте Microsoft, оттуда и инфа по контролам:
http://msdn.microsoft.com/en-us/libr...ffice.11).aspx
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:31, 28-02-2009 | #8


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


amel27, спасибо !
Буду дальше разбираться...

Отправлено: 09:22, 28-02-2009 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Работа с контролами на страницах Excel

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
отсутствие картинок в сохранённых интернет-страницах vlad58105 Хочу все знать 0 23-01-2010 20:23
Вопрос - [решено] Эксплойт на индексных страницах сайта emiljen Защита компьютерных систем 1 18-09-2009 12:05
Delphi - MsOffice | Delphi | Работа с Excel в Делфи AL CAPONE Программирование и базы данных 2 03-10-2006 16:27
Размещение информации на страницах LVVictor Вебмастеру 14 22-01-2006 21:14
Работа в Excel Evita Хочу все знать 3 06-05-2004 00:24




 
Переход