readystate=4 не работает | Доска сообщений MrExcel
Наследие 98055
Гость
- #2
Пожалуйста, напишите свой код. ReadyState и Busy обычно достаточно хороши, однако я и раньше сталкивался с проблемами. Мой обходной путь состоял в том, чтобы использовать события IE. Они кажутся более надежными. Объявите свою переменную withevents и используйте события DownloadComplete и/или NavigateComplete. Иногда нужно использовать комбинацию событий…
Голосовать за 0
Джордж Дж.
Известный член
- #3
Спасибо, Том, посмотрю на события.
Извините, это немного грубо и готово, но моя рабочая тетрадь дома, так что просто соберите это. Что я делаю, так это копирую данные с веб-страницы, делаю Alt + Tab, чтобы перейти к слову, и запускаю специальный макрос вставки, а затем вставляю результат этого в Excel (еще один Alt + Tab)
Код:
Подтест()
Dim т.е. как объект
Установить ie = CreateObject("InternetExplorer.Application")
т.е.Видимый = Истина
'перейти на сайт
ie.navigate "http://www.adrianmassey.com/db2/dbaccess.php?flat=1"
'ждем пока загрузится страница
Делать, пока ie.readyState = 4
DoEvents
Петля
'используйте sendkeys для заполнения формы
SendKeys "{TAB 2}", Истина
SendKeys " ", Истина
SendKeys "{TAB 30}", Истина
SendKeys " ", Истина
SendKeys "{TAB 14}", Истина
SendKeys " ", Истина
SendKeys "{TAB 8}", Истина
SendKeys " ", Истина
SendKeys "{TAB 15}", Истина
SendKeys " ", Истина
SendKeys "{TAB 11}", Истина
SendKeys " ", Истина
SendKeys "{TAB 21}", Истина
SendKeys " ", Истина
SendKeys "{TAB 10}", Истина
SendKeys " ", Истина
SendKeys "{TAB 4}", Истина
SendKeys " ", Истина
SendKeys "{TAB 61}", Истина
SendKeys " ", Истина
SendKeys "{TAB 13}", Истина
SendKeys " ", Истина
SendKeys "{TAB 11}", Истина
SendKeys " ", Истина
SendKeys "{TAB 11}", Истина
SendKeys " ", Истина
SendKeys "{TAB 11}", Истина
SendKeys " ", Истина
SendKeys "{TAB 15}", Истина
SendKeys " ", Истина
SendKeys "{TAB 10}", Истина
SendKeys " ", Истина
SendKeys "{TAB 12}", Истина
SendKeys " ", Истина
SendKeys "{TAB 13}", Истина
SendKeys " ", Истина
SendKeys "{TAB 9}", Истинный
SendKeys " ", Истина
SendKeys "{TAB 13}", Истина
SendKeys " ", Истина
SendKeys "{TAB 5}", Истина
SendKeys " ", Истина
SendKeys "{TAB 4}", Истина
SendKeys " ", Истина
SendKeys "{TAB 4}", Истина
SendKeys " ", Истина
SendKeys "{TAB 4}", Истина
SendKeys " ", Истина
SendKeys "{TAB 4}", Истина
SendKeys "{ENTER}", Истина
'ждем пока загрузится страница
Делать, пока ie.
readyState = 4
DoEvents
Петля
'выбрать данные и скопировать
SendKeys "%EA", Истина
SendKeys "%EC", Истина
т.е.Выйти
'нажмите ALT+TAB, чтобы перейти в Word, затем вставьте через макрос
SendKeys ("%{TAB}"), Истина
SendKeys ("%{F8}"), Истина
SendKeys "{ENTER}", Истина
'ALT+TAB вернуться к Excel + вставить как текст
SendKeys ("%{TAB}"), Истина
Диапазон("A1").Выбрать
Selection.PasteSpecial Вставить:=xlPasteValues
Конец суб Спасибо за любую помощь.
Голосовать за 0
Наследие 98055
Гость
- #4
А пока посмотрим, работает ли это…
Код:
'дождитесь загрузки страницы Делать до ie.LocationURL <> "http://www.adrianmassey.com/db2/dbaccess.php?flat=1" DoEvents Петля Делать до ie.ReadyState = 4 DoEvents Петля
Вы должны предоставить тайм-аут. Особенно, если вашей книгой будет пользоваться не программист…
Голосовать за 0
Нори
Известный член
- #5
Джордж
Вместо использования SendKeys вы рассматривали возможность доступа к элементам на странице с помощью объекта документа.
Я немного поиграл со страницей и придумал это.
Код:
Тусклый т.е. как объект Подтест() Установить ie = CreateObject("InternetExplorer.Application") т.е.Видимый = Истина 'перейти на сайт ie.navigate "http://www.adrianmassey.com/db2/dbaccess.php?flat=1" 'ждем пока загрузится страница Делать, пока ie.readyState = 4 DoEvents Петля ' проверить Совместное / Совместное Избранное ie.document.forms(0).All("fv101").Checked = True 'выбрать все годы выбрать все 21, 30 ' снимите флажок Понедельник ie.document.forms(0).All("dow1").Checked = False ' снимите флажок 5 фарлонгов ie.document.forms(0).All("ds1").Checked = False ' снять галочку с продажи долей ie.document.forms(0).All("ty1").Checked = False ' проверьте препятствие для гандикапа ie.document.forms(0).All("tyh2").Checked = True ' это должно отправить форму, но по какой-то причине ' не работает 'ie.document.forms(0).submit Конец сабвуфера Функция selectall(начало, окончание) ' это проверяет все указанные флажки и адаптировано ' из JavaScript на веб-странице Дим я пока Для I = начать Закончить ie.
document.forms(0)(I).Checked = True Далее я Завершить функцию
Я знаю, что это далеко не все, но мне было немного сложно правильно следовать всем табуляциям.
На самом деле я почти уверен, что проверяю/снимаю не те вещи.
Голосовать за 0
Джордж Дж.
Известный член
- #6
Том — спасибо, я попробую, когда вернусь домой.
Нори —
Вместо использования SendKeys рассматривали ли вы доступ к элементам на странице с помощью объекта документа
Нажмите, чтобы развернуть.
..
Никогда об этом не слышал
Посмотрю, как это работает. Откуда вы взяли tyh2 и dow1? Я вижу, что dow1 относится к дню недели, но это имя этой конкретной таблицы?
Много расследований.
Спасибо, ребята
Голосовать за 0
Нори
Известный член
-
- #7
Джордж
Я попытался проследить, куда пошли ваши вкладки, а затем попытался найти подходящее место в HTML-коде для страницы.
Я не прошел через все, так как у меня немного закружилась голова после переключения между приложениями.
Голосовать за 0
Наследие 98055
Гость
- #8
У меня немного закружилась голова…
Нажмите, чтобы развернуть…
Нори.
Бесплатный и очень удобный проводник DOM от Microsoft…
Панель инструментов разработчика Internet Explorer
Голосовать за 0
Нори
Известный член
- #9
Том
Спасибо за ссылку, но я все еще на 98.
Не спрашивайте почему.
На самом деле я только что загрузил и использую браузер Firefox, в котором есть что-то под названием DOM Inspector, которое, я думаю, может быть полезным.
Голосовать за 0
ОШИБКА 404 — Страница не найдена
|


е. как объект
Подтест()
Установить ie = CreateObject("InternetExplorer.Application")
т.е.Видимый = Истина
'перейти на сайт
ie.navigate "http://www.adrianmassey.com/db2/dbaccess.php?flat=1"
'ждем пока загрузится страница
Делать, пока ie.readyState = 4
DoEvents
Петля
' проверить Совместное / Совместное Избранное
ie.document.forms(0).All("fv101").Checked = True
'выбрать все годы
выбрать все 21, 30
' снимите флажок Понедельник
ie.document.forms(0).All("dow1").Checked = False
' снимите флажок 5 фарлонгов
ie.document.forms(0).All("ds1").Checked = False
' снять галочку с продажи долей
ie.document.forms(0).All("ty1").Checked = False
' проверьте препятствие для гандикапа
ie.document.forms(0).All("tyh2").Checked = True
' это должно отправить форму, но по какой-то причине
' не работает
'ie.document.forms(0).submit
Конец сабвуфера
Функция selectall(начало, окончание)
' это проверяет все указанные флажки и адаптировано
' из JavaScript на веб-странице
Дим я пока
Для I = начать Закончить
ie.

..
Методы 2
Характеристики …
Методы…
Объекты …
Список ключевых слов 2
Учебник по ФСО
Добавить темы 1
Добавить темы 2
Добавить темы 3
Добавить темы 4
Добавить темы 5
Добавить темы 6
Добавить темы 7
Добавить темы 8
HTML-ссылки
Что нового
HTML-структура
Организационная L
Алфавитный список
HTML-сущности
Каскадный стиль S
Таблицы стилей N
Структура и R
CSS-свойства
Ссылка на HTML
Зависимость
Ссылки на CSS
Руководство по Apache
Руководство по MySQL
Груша Ручная
Руководство по PHP
Учебник по Ajax #2
Учебник по Ajax #3
Учебник ASP
SQL Server Тут
Учебник по TCP/IP
Учебник ASP № 2
Учебник ASP № 3
Учебник по сети ASP
Учебное пособие по C++ Net
Учебник FoxPro
Учебник по HTML №2
Учебник по HTML №3
Учебник по JS Net
Учебник по JS № 2
Учебник по JS №3
Руководство по MySQL №2
Руководство по PHP №2
Руководство по PHP №3
Учебник по SEO
SQL-сервер №2
Учебник по SEO № 2
Учебник по SEO №3
Учебник по SEO № 4
Учебник по SEO № 5
Учебник по SEO № 6
Учебник по SEO № 7
—————
Бесплатные скрипты
Фон
Кнопки
Калькуляторы
Календари
Печенье
Дата и время
Эквиваленты
Формы
Игры
Графика
Ссылки и подсказки
Сообщения
Меню и навигация
Мышь и курсор
Детали страницы
пройти защиту
свитки
Текстовые эффекты
Сведения о пользователе
Разнообразный
Зарабатывать!
Онлайн помощь
—————
Сторонний софт
Аудио и MP3
Бизнес и фин.