Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сбоит циклическая навигация объекта IE в Win7 
:(
    Опции темы
ZGNICO
Дата 24.11.2015, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 5.4.2013

Репутация: нет
Всего: нет



Здравствуйте, уважаемые формучане! Наткнулся на проблему при разработке, перекопал много ресурсов и учебников, но решения пока не вижу. То ли сам дурак, то ли лыжи не смазаны... Словом, имею рабочий макрос, цель которого - перебор большого количества web-страниц в локальной сети (из Internet нет доступа, так что показать код в полной мере нет возможности, простите) с выпиской необходимой мне информации. Условно говоря, приложение перебирает учетные карточки, ищет в них некую систематику по забитому мною алгоритму и выдает юзверю краткий статистический отчет с некими критичными для работы сведениями. 
До недавних пор (стояла ОС Windows XP на рабочем месте, под ней все и писалось прямо там) все работало без сбоев (более года, каждую ночь - ни одного глюка при исполнении кода нет; отчеты сохранились). В минувшую пятницу на рабочем месте обновили железо, и теперь имею ОС Windows 7. С макросом произошел занятный глюк... 130 учетных карточек (+/- 10) перебирает нормально. На 131ой возникает сбой. Сами карточки нормальные, никаких принципиальных отличий в них нет (ищу существующие на них объекты, все вроде как стабильно). Природа сбоя мне не понятна, однако подозреваю, что дело в объекте Internet Explorer, который (сколь я могу судить) изменился вместе с изменением версии Windows. Цикл перебора организован примерно так (Excel 2007):
Код

'создаем объект IE, объявление без With Events (как его реализовать - я так и не понял, но без него работало нормально вплоть до обновления версии Windows)
Dim ObjIE As InternetExplorer                   'Рефер на экземпляр объекта IE в оперативной памяти
    Set ObjIE = CreateObject("InternetExplorer.Application")        'Создаем экземпляр объекта
    ObjIE.Visible = False                                           'Прячем окно от пользователя
'...

'далее организован цикл, в котором на каждом шаге формируется адрес, и осуществляется навигация на него с последующим поиском элементов WEB-страницы и выпиской на лист Excel значений свойств этих элементов (тестовые поля, списки и т.п.).
For i = 1 to N    
     ObjIE.Navigate WebAddrServ(i)
    'Ожидание загрузки данных:
    While ObjIE.Busy Or ObjIE.readyState <> 4
        DoEvents            'передаем управление другим приложениям
    Wend
    'Собственно - тут и есть камень преткновения: проведя 130 навигаций нормально и без сбоев на 131 получаем некую ерунду, притом не ясно какую именно: объект просто не загружает страницу, и этот While может длиться бесконечно... 
     'далее обработка данных со страницы и выписка нужной информации.
Next i

'...


Пробовал:
1. Внедрять таймер на таймаут (ждем 20 секунд, если так и не загрузилась страница - перезапускаем ее загрузку. Не дает результата. Объект все равно остается Busy хоть до посинения. 
Самое веселое, что если просто открыть в фоне IE и вбить в его адресную строку WebAddrServ(i), навигация проходит без сбоев, все открывается сразу.

Есть ли у кого мысли по этому поводу? Может, кто сталкивался с подобной проблемой? Буду  рад любой помощи... Ну кроме широкого посыла к гуглу (ибо, как уже говорилось ранее - копал я его, не вижу ничего полезного).

Всем заранее большое спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0641 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.