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

Показать сообщение отдельно

Аватара для RUVATA

Старожил


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

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


kaster,
Цитата kaster:
вроде как из-за языка офиса »
вот здесь позволь не согласиться...
язык который используется для автоматизации пантеона приложений MS Office назывется VBA (Visual Basic for Applications),
фактический являтся языком Visual Basic, ныне эволюционировавший в vb.NET
Основная объектная модель приложений Office не изменяется аш с версии 97-го года.
Учитывая что язык широко используется на протяжении уже 13-лет - вероятность что в нем есть ошибки такого рода как "не верно работающий метод" - крайне мала, хотя исключать ее все таки нельзя.
Но вот что показывает моя практика(с VBA работаю уже около 7 лет), и несколько поставленных экспериментов:
1) Управление программи MS Office из вне, т.е. другими языками, осуществляется как правило через OLE-сервер (COM-сервер используется реже имеет свои особенности реализации, и применяется чаще всего тогда, когда необходимо использовать компоненты Office не запуская само приложение, например широко применялась практика использования модулей MS Word "проверка орфографии" для проверки содержимого тестовых полей программ написанных на том-же C# или vb.NET, даже видел реализацию на Java (хотя там на этот счет есть более лаконичные решения).
Взаимодействие с OLE-сервером, происходит по принципу обращения к объектной модели конкретного приложения, обработка обращений в таком случае происходит по правилам VBA но не через него, вы получаете возможность опускать прараметры методов и т.д.
Скомпилированные программы написанные на языках: С++ и C#, vb.NET, Java и даже встроенный язык 1C не имеют с этим проблем а AutoIT имеет - вывод напрашивается сам сабой.
2) Природа этой ошибки до сих пор не ясна - не понятно гна каком этапе она возникает: AutoIT передает значение, OLE-сервер обрабатывает и передает в COM, COM-объект принемает, или уже само Приложение реализует инструкции COM.
Тут необходимо обладать огромной базой знаний о технологии COM и устройстве Office Excel (у меня таких знаний нет, по крайней мере про COM)

-------
Одно дело искать сиюминутное решение, другое - искать знания...
вот и думай - что ты ищешь...


Отправлено: 15:17, 13-12-2010 | #12