Друзья подскажите возможно ли это. Жмем кнопку в экселе, происходит переход на нужный нам сайт и копирование от туда информации в таблицу. Во вложении простенький пример.
Возможно все :) Пример подобного макроса можно посмотреть например здесь:
Остается переделать под ваши нужды.
tintin
Гость
28.02.2012 19:38:20
Да с курсами валют оч занятно но вникнуть пока не получается. Может кто то поможет с макросом Нужно чтобы Макрос кликал например на сайте Яндекса по кнопке "Найти" Буду оч признателен.
Пользователь
Сообщений: Регистрация: 21.12.2012
29.02.2012 09:31:52
Заполнить строку поиска и нажать на кнопку через vba можно используя webbrowser. только вот извлечь результаты поиска - трудно. в goggle вообще наверное невозможно это сделать, в yandex - можно но с диким извратом. на авито не знаю - регистрироваться там вообще неохота. Вся фишка в том, что результаты поиска не хранятся в таблицах. Для их отображения используются отдельные классы, или скрипты.
"Нужно чтобы Макрос кликал например на сайте Яндекса по кнопке "Найти""
создайте форму, всавьте на нее элемент webbrowser, на код открытия формы повесить вот такой макрос Private Sub UserForm_Activate() s = "www.ya.ru" Me.WebBrowser1.Navigate s Do While Me.WebBrowser1.Busy Or (Me.WebBrowser1.ReadyState <> 4): DoEvents: Loop Me.WebBrowser1.Document.forms(0).elements.Item(0).Value = "шкафы" Me.WebBrowser1.Document.forms(0).elements.Item(1).Click end sub
Пользователь
Сообщений: Регистрация: 23.12.2012
29.02.2012 10:02:50
Так Вам нужно с Яндекса или с Авито?
tintin
Гость
01.03.2012 11:34:31
Я просто пытаюсь понять суть, просто хотелось получить пример с авито или яндекса что бы дальше разобраться самому.
egonomist: Вы могли бы сделать пример, битый час пытаюсь сделать но не получается.
Пользователь
Сообщений: Регистрация: 21.12.2012
01.03.2012 11:46:43
Вообще, у меня такой вопрос часто возникает. Но думал не Экселевского ума это дело. Я пишу в определенном столбец, скажем D (D1,D2,D3 и т.д), ссылки на сайты, на которых должен производится поиск. А в А1 забиваю фразу которая будет искаться. Нажимаю кнопочку макроса. Опера сама открывает эти сайты, вставляет туда эту фразу и .. все сайты остаются открытыми. Затем я прохожу и просматриваю, что, где нашлось... Было бы здорово иметь такой поиск. В основном мне это нужно для поиска автозапчасти. Спасибо.
--------- 35030
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
Пользователь
Сообщений: Регистрация: 23.12.2012
01.03.2012 12:20:41
Вот с avito забирает первые три объявления, из региона Москва, по введенному слову, и формирует гиперссылки на эти объявления.
tintin: Выкладываю пример - за основу взял файл вот отсюда
добавил одну кнопку - поиск взял код вот отсюда
в итоге - открываете книгу - пишите в ячейке B11 что надо найти - нажимаете квадратик с надписью internet - загружается браузер - щелкаете кнопку поиск.
если нужно без окошка webbrowser то опять же все тут
Владимир: я не знаю как в explorer открывать программно вкладки, поэтому пока управление только одной вкладкой - одна ссылка. Для каждого сайта надо найти element для ввода текста и кнопку. Для этого делаю webbrowser.navigate "www.ya.ru" на следующей строке breakpoint webbrowser в watch window в watch window идем по иерархии- webbrowser - document - forms - item1 - elemets - просматриваем все elements и угадываем где текст а где кнопа - в коде уже присваиваем текст для поска и щелкаем кнопку и
{quote}{login=sva}{date=01.03.2012 12:20}{thema=}{post}Вот с avito забирает первые три объявления, из региона Москва, по введенному слову, и формирует гиперссылки на эти объявления.{/post}{/quote}
Просто супер! Спасибо Огромное! Вы могли бы сделать аналогичный, урощенный пример где при нажатии в эксель кнопки "запрос" происходит клик по кнопке найти на сайте авито (москва)
т.е. на сайт я например зашел сам, сам ввел слово шкаф, а при нажатии в экселе "Запрос" нужен клик на авито - Найти
Пользователь
Сообщений: Регистрация: 23.12.2012
01.03.2012 13:56:43
В моем примере нужно только вводить нужные слова в inputbox, и нажимать кнопку. Зачем нужны лишние телодвижения?
tintin
Гость
01.03.2012 13:59:59
Для самообразования )) Просто хочу посмотреть как выглядит данный макрос, если не трудно сделайте пожалуйста )
Пользователь
Сообщений: Регистрация: 23.12.2012
01.03.2012 14:57:10
Я ленюсь, да и некогда мне сейчас :) Смотрите пример получения данных с сайта налоговой. От Вас требуется вводить капчу и жать кнопку получить данные.
{quote}{login=egonomist}{date=01.03.2012 12:34}{thema=}{post}...в watch window идем по иерархии- webbrowser - document - forms - item1 - elemets - просматриваем все elements ...{/post}{/quote} Скажите что значит просматриваем все элементс...как их просмотреть? где написано что это итем и элемент такой-то такой-то? надо вызвать какое-то Watch window? подскажите пжл..
Пользователь
Сообщений: Регистрация: 21.12.2012
05.05.2012 09:01:17
1) в редакторе visual basic в верхней панели View - Watch window появится окошко, пока пустое. 2) в макросе ставите точку остановки breakpoint после строки с определением нужной вам переменной - например после webbrowser.navigate "www.ya.ru" (поставьте курсор на строку - нажмите f9) 3) запустите макрос. Его выполнение остановится на breakpoint 4) наведите курсор на слово webbrowser - щелчок правой кнопкой мыши - add Watch... 5)После этого в окне watch window появится нужная нам переменная/объект со всеми свойствами. Для объектов доступна вся иерархия свойств и атрибутов. Рядом с webbrowser плюсик - нажимаем его раскрывается список. раскрываем его в следующем порядке webbrowser - document - forms - item1 - elemets - в elements будут item по значениям их атрибутов (name, text, value, onSubmit...) определяем что к чему.
Guest
Гость
05.05.2012 11:50:39
Спасибо огромное за подсказку)
Guest
Гость
06.05.2012 23:47:58
блин..совершенно не понятно как Вы определили что итем 0 это текстовое поле, а итем 2 кнопка...более того я там даже итем 0 то и не нашёл...блин((( у меня в элементс только итем 1, 2 и 3...
Guest
Гость
11.05.2012 00:17:44
Ребят а подскажите пожалуйста, как подправить код, чтобы все эти запросы работали через гугл хром?
Пользователь
Сообщений: Регистрация: 23.12.2012
11.05.2012 07:19:19
Никак не подправить. Все майкрософтовские программы (в т.ч. и Excel) для запросов в интернет используют исключительно один браузер, встроенный в Windows - Internet Explorer
Пользователь
Сообщений: Регистрация: 01.01.1970
11.05.2012 10:34:02
надстройка:
выдает результаты поиска в браузере по умолчанию (Firefox у меня)
eg
Гость
11.05.2012 17:12:25
а что именно надо?? в чем затык?
Guest
Гость
12.05.2012 18:04:32
да вот не могу определить что item 0 - текстовое поле, а item 2 - кнопка, помимо этого у меня даже нету итем 0 на сайте по пути: webbrowser - document - forms - item1 - elemets - ....
Пользователь
Сообщений: Регистрация: 27.12.2012
13.05.2012 00:50:05
усе..вроде без итемов справился..только вот нужна помощь, подскажите как сделать так чтобы при активации определенной ячейки браузер открывался, а когда активируется след ячейка то закрывался? и второе как сделать чтобы например при активации ячейки а1 браузер автоматом открывался на яндексе, а при активации на в1 на гугле...неужели вторую форму надо создавать..
Модератор
Сообщений: Регистрация: 14.09.2012
Контакты см. в профиле
13.05.2012 01:04:21
А в А1 и В1 соответствующие гиперссылки - не выход?
Пользователь
Сообщений: Регистрация: 27.12.2012
13.05.2012 02:12:34
нее..планируется в а1 и в1 вбивать цифры, при активации а1 сразу автоматом открывается браузер на нужном сайте и можно проверить какое значение внести в а1, потом вбиваются другие знач в других ячеках - там а2 а3 а4 и когда дело доходит до в1 снова откр браузер на другом уже сайте, со значениями для в1..