Добавлено: Пн Дек 06, 2004 2:31 am Заголовок сообщения: Excel + Internet
Хочется такого, есть список урл в экзеле, нажал на кнопку, макрос пробежался по списку урл, проверил сайты на доступность, сделал запрос к гуль, получил кол-во проиндексированных страниц для каждого сайта, и результаты работы разместил в колонки рядом. Реально такое сделать в МС офисе? _________________ Дешевые домены за Webmoney
Судя по макросам, о которых рассказывалось в рассылке "Продвижение сайта" это реально. Вот если бы исходники были бы доступны. _________________ Профессионал - тот же дилетант, только знающий где ошибётся
Хочется многим. Подписовайся на рассылку. А вообще я считаю, что такое творить в Экселе уже извратство.... Можно ведь действительно софт найти или уже на крайняк заказать.
Хочется такого, есть список урл в экзеле, нажал на кнопку, макрос пробежался по списку урл, проверил сайты на доступность, сделал запрос к гуль, получил кол-во проиндексированных страниц для каждого сайта, и результаты работы разместил в колонки рядом. Реально такое сделать в МС офисе?
Запросто. В Экселе очень удобно делать все, что связано с таблицами - преимущество онлайн-сервиса только в экономии трафика и большей стабильности. Кстати, вчера только купили книгу "Использование макросов в Excel", издательство "Питер", автор - С.Роман (Steven Roman), 2004 г. Возможно, с ее помощью удастся в скором времени избавиться от нестабильности запусков.
Возможность сделать описанный анализ онлайн, думаю, скоро появится и на www.semaster.ru.
Исходники макросов не шибко большой секрет, кому нужен пароль - пишите в личку. Хотя "подкованные" могут и не писать, экселевские макросы взламываются элементарно.
Кодов в предлагаемых макросах довольно много, вот, например, модуль авторизации для работы с запросами Яндекс-Директа - принцип вызова браузера вполне простой и понятный.
Код:
Sub zapros_avtoriz()
' авторизация на Яндекс-Директе
Dim ie As Object
Set ie = CreateObject("InternetExplorer.application")
ie.Visible = True
ie.Navigate ("http://direct.yandex.ru/")
Do While (ie.Busy)
Loop
ie.document.forms(0).login.Value = "[i]/логин/[/i]"
ie.document.forms(0).passwd.Value = "[i]/пароль/[/i]"
ie.document.forms(0).Submit
Do While (ie.Busy)
Loop
ie.Navigate ("http://direct.yandex.ru/registered/main.pl?cmd=addNewBanner")
Do While (ie.Busy)
Loop
Вопрос к andre - а как при помощи VBA делать не только GET, но и POST-запросы (например для заполнения и посылки форм, которые работают только через POST)?
Вопрос к andre - а как при помощи VBA делать не только GET, но и POST-запросы (например для заполнения и посылки форм, которые работают только через POST)?
С методом GET, конечно, проще. Можно программно сформировать урл с нужными параметрами и открыть страницу. А с POST здесь пример и приведен - используется имитация заполнения формы в браузере и нажатие на сабмит. Вот комментарий частей кода.
// Открытие страницы с формой, работающей через POST (логин-пароль почти всегда постом передаются)
Dim ie As Object
Set ie = CreateObject("InternetExplorer.application")
ie.Visible = True
ie.Navigate ("URL")
// Ожидание полной загрузки
Do While (ie.Busy)
Loop
// Заполнение полей формы
ie.document.forms(0).login.Value = "логин"
ie.document.forms(0).passwd.Value = "пароль"
// Имитация нажатия на Submit
ie.document.forms(0).Submit
// Ожидание полной загрузки
Do While (ie.Busy)
Loop _________________ С уважением,
Андрей Иванов.
Аналогично, использую Submit для посылки данных, но, правда, не во внешнем IE, а во встроенном в форме WebBrouser - что дает большую надежность. Но не всегда получается обработать POST-запросы. В чем может быть проблема?
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах