| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Работа VBA с внешними приложениями |
| Автор: xkodex 12.2.2007, 20:06 |
| Суть задачи: У нас есть приложение для Excel. Нужно прочитать данные из другой программы, например из exe файла. В этом exe'шнике есть текстбокс оттуда нам надо взять данные, а в другой текстбокс вставить данные. Вожможно ли это? А если возможно то как релизовать? |
| Автор: Kirill89 12.2.2007, 20:33 |
| Я неуверен, что VBA может работать с API, но если может, то только так: Получаешь hwnd окна из которого необходимо взять данные, там получаешь hwnd текстбокса... И т.д. .... |
| Автор: xkodex 12.2.2007, 22:09 |
| Kirill89 а подробнее... |
| Автор: Kirill89 13.2.2007, 01:25 | ||
Я повторюсь: я даже не уверен, что это возможно. Я VBA почти не занимался, извини, я ничем немогу тебе помочь, могу только посоветовать попробовать создать модуль, там объявить функцию API (любую), и если она будет работать, то дальше уже всё проще будет. Проверь это и отпишись. |
| Автор: Akina 13.2.2007, 11:52 | ||
| VBA в этом смысле мало чем отличается от VB - то же объявление необходимых процедур в common-модуле, одинаковый синтаксис и пр. Найти окно по его имени можно при помощи
Далее требуется знать имя контрола (если он единственный - достаточно знать тип) - просто перебираем коллекцию объекта и, найдя нужное, запрашиваем его Value либо Text. Аналогично находим хэндл второго окна, второй контрол, и меняем его содержимое. Примеры использования и связанные функции (скажем определение имени окна под курсором) находятся внимательным чтением MSDN вокруг указанной функции. |