Активировать окно другого приложения.

Программирование на Visual Basic for Applications
Тиль
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 09.02.2012 (Чт) 19:38

Активировать окно другого приложения.

Сообщение Тиль » 28.02.2013 (Чт) 18:53

Здравствуйте, господа.
Проблемка у меня, мне необходимо из макроса запустить IE по заданному адерсу, активировать открытое окно, выполнить комбинацию выделения всей страницы, копирование, активация определенного листа екселя и вставки туда скопированных данных.

Это в общем, а теперь сама суть проблемы, передачу клавишных команды освоил, а вот активация...с этим беда.

Вопросы:
1. Можно ли запустить IE по ссылке? (я запускаю сейчас по гиперссылке из листа ексель)
Код: Выделить всё
Range("A1").Hyperlinks(1).Follow
, а хотелось бы что бы командой запускался IE вместе с привзкой к ссылке.
2. Экспортировать текст страницы срадствами самого екселя не получается, страница не дает данные, пожэтому решил пробовать копировать страницу на лист, а на листе с ней работать, там я могу вытащить нужные таблицы. ТАк вот как ОТкрывая ссылку перейти на открытую страницу, выделить ис копировать весь текст, и вставить ее в нужный лист?

Второй день чег только не пробовал уже. Голова кругом...уже и пытался кодом запускать клавишные команды типа "Запуск ссылки - выделение- копи- альт+таб на лист- вставка" и подобное, толку мало, не срабатывает почему-то к4ак надо...

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 28.02.2013 (Чт) 19:01

Чтобы открыть ссылку в IE надо запустить iexplore со ссылкой в качестве параметра, возможно, в кавычках. Запущенное приложение обычно само запускается в вактивном состоянии, нет? Ctrl+A, Ctrl+C? Только надо ждать, пока загрузится.

В обратном порядке относительно того, как надо делать:
Почему не открывать ссыkre в Word'e вместо IE?
Почему бы не использовать компонент webBrowser? или он недоступен в VBA?
Почему бы не загружать непосредственно текст страницы?

Тиль
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 09.02.2012 (Чт) 19:38

Re: Активировать окно другого приложения.

Сообщение Тиль » 28.02.2013 (Чт) 19:10

Qwertiy писал(а):Чтобы открыть ссылку в IE надо запустить iexplore со ссылкой в качестве параметра, возможно, в кавычках. Запущенное приложение обычно само запускается в вактивном состоянии, нет? Ctrl+A, Ctrl+C? Только надо ждать, пока загрузится.

В обратном порядке относительно того, как надо делать:
Почему не открывать ссыkre в Word'e вместо IE?
Почему бы не использовать компонент webBrowser? или он недоступен в VBA?
Почему бы не загружать непосредственно текст страницы?


Не знаю как запустить в VBA IE с ссылкой впридачу..пытался похъимичить - пока толку ноль...
Ладно, запустил я по гиперссылке нужную страницу, передаю ему команды Ctrl+A, Ctrl+C, нифига, почемуто не реагирует, как только не изголялся, и задержки ставил, выделяет все только на последней странице...а страниц бывает гораздо больше...
"Почему не открывать ссыkre в Word'e вместо IE?" это как 0_о страница удаленная, по значению ссылки идет настройка таблицы, например певой ссылкой я задаю дату, затем 2-мя ссылками еще параметры, типа входящие, с таким то индексом, втоге идут ссылки со страницами, на 1 старнице 25 строк таблицы, на сторой 25 и тд пока не кончатся строки. Все эти таблицы я хочу скопировать на разные листы по порядку и потом собрать воедино, этол не проблема.
"Почему бы не использовать компонент webBrowser? или он недоступен в VBA?" даже не представляю...справка молчит
"Почему бы не загружать непосредственно текст страницы?" как?

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 28.02.2013 (Чт) 20:37

Ну ты специально пишешь так, чтобы это было нечитаемо?

Тиль писал(а):как?

Думаю, как в VB.

Тиль писал(а):даже не представляю...

Ну так возьми и попробуй его использовать.

Тиль писал(а):это как 0_о страница удаленная, по значению ссылки идет настройка таблицы, например певой ссылкой я задаю дату, затем 2-мя ссылками еще параметры, типа входящие, с таким то индексом, втоге идут ссылки со страницами, на 1 старнице 25 строк таблицы, на сторой 25 и тд пока не кончатся строки. Все эти таблицы я хочу скопировать на разные листы по порядку и потом собрать воедино, этол не проблема.

ЧЗХ?

Тиль писал(а):это как

Макрос Excel'я может взаимодействовать с Word'ом?

Тиль
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 09.02.2012 (Чт) 19:38

Re: Активировать окно другого приложения.

Сообщение Тиль » 28.02.2013 (Чт) 22:19

Прошу прощения, если пишу непонятно, са мне знаю как это все объяснить.
"Почему не открывать ссыkre в Word'e вместо IE" - я смысла не понял, как открывать удаленную веб станицу в ворде? :shock:
"Почему бы не использовать компонент webBrowser? или он недоступен в VBA?" - юзаю поиск по "webBrowser" выдает такой код
Код: Выделить всё
Public NotInheritable Class WebBrowser _
   Inherits ActiveXHost

Вставляю в модуль - ругается на "Class" Expected: end of statement
"Почему бы не загружать непосредственно текст страницы" - каким образом? елси покажете на примере, буду премного благодарен. Этого мне и надо впринципе. Есть адрес страницы, надо достать из нее информацию, точнее - таблицу, отсальной мусор я уберу. Пытался изначально сделать это через екселевский импорт страницы, начто мне выдало что страница не отдает данных, точнее не могу скзать, ибо на эту страницу я могу зайти только с работы.

Сделать подобие кликера не получается, нет стаибильности, то ссылку в браузер не вставляет, то не выделяет все что надо, то зависает на активации книги екселя для вставки скопированной таблицы в лист.
Не один час уже угрохал на попытку сохдания этого метода.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 01.03.2013 (Пт) 7:48

Тиль писал(а):Прошу прощения, если пишу непонятно, са мне знаю как это все объяснить.

А кнопочкой [quote] тебя тоже надо учить пользоваться? И пробелы ставить между словами, а не где попало?

Тиль писал(а):я смысла не понял, как открывать удаленную веб станицу в ворде? :shock:

Как обычный файл. Скормить ему url и радоваться :D

Тиль писал(а):Вставляю в модуль - ругается на "Class" Expected: end of statement

Ну где ты видел, чтобы контролы так использовали? Создай форму и попытайся добавить на неё элемент.

Тиль писал(а):каким образом? елси покажете на примере, буду премного благодарен.

http://bbs.vbstreets.ru/viewtopic.php?f=56&t=40300


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

    TopList