powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Visual Basic, IE, Формы....
21 сообщений из 21, страница 1 из 1
Visual Basic, IE, Формы....
    #33640961
Nickson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня два вопроса:
1. Пусть я в своей программе использую компонент IE. А если на другом компьютере установлен FireFox например, моя работать же не будет.Что можно сделать? Наверное устаность компонент..но не знаю куда, и так ли решается эта проблема..?
2. Как с помощью VB извлечь из полей формы web-страницы даные и наоборот, - заполнить поля на страцице определёнными данными? (Имеется ввиду встроенный компонент IE, а не браузер).
Thanks!
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #33641316
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по первому вопросу.
Программа, используюшая компонент IE будет работать на любом компьютере под Win, независимо от наличия браузеров сторонних производителей. Единственным исключением может быть среда, из которой специально удалён этот компонент, но на таком компьютере и проводник и файлы справки и многие другие вещи работать не будут.

по второму.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
'References: Microsoft HTML Object Library
'Controls: Microsoft Internet Controls
'добавить на форму WebBrowser с именем WebBrowser1

Private WithEvents mHTMLDocument As MSHTML.HTMLDocument

Private Sub Form_Load()
    Dim strBlankFile As String
    strBlankFile = "about:" & _
    "<input id=""txt1"" type=""text"" size=""20"" value=""текст""/>" & _
    "<input id=""cmd1"" type=""submit"" value=""пуск""/>"
    'загрузка документа
    WebBrowser1.Navigate strBlankFile
    While WebBrowser1.Document Is Nothing
        DoEvents
    Wend
    'присваиваем html документ
    Set mHTMLDocument = WebBrowser1.Document
End Sub

Private Function mHTMLDocument_onclick() As Boolean
    'обработка событий только для элемента с идентификатором 'cmd1'
    If mHTMLDocument.parentWindow.Event.srcElement.Id = "cmd1" Then
        MsgBox mHTMLDocument.getElementById("txt1").Value
    End If
End Function

Остальное здесь
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #33642205
Nickson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так это заполнение формы или извлечение информации?
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #33642230
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извлечение.

Вот тебе еще один простой пример.

Подключи библиотеку "Microsoft HTML Object Library".

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Private objDoc As MSHTML.HTMLDocument

Private Sub Form_Load()
    WebBrowser1.Navigate "www.ya.ru"
    
    Do While WebBrowser1.Busy
        DoEvents
    Loop
    
    Set objDoc = WebBrowser1.Document
End Sub

Private Sub Command1_Click()
    Dim objForm As MSHTML.HTMLFormElement
    
    ' web - название формы.
    Set objForm = objDoc.Forms.web
    ' text - название поля.
    ' Заполняем текстовое поле.
    objForm.Text.Value = "sql.ru"
    ' Извлекаем данные из текстового поля.
    MsgBox objForm.Text.Value
    ' Нажимаем кнопку "Найти".
    objForm.submit
End Sub
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #33653973
Nickson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А дело в том, что чё-то страницы не грузятся
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #33811521
AshtonИзвлечение.

Вот тебе еще один простой пример.

Подключи библиотеку "Microsoft HTML Object Library".

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Private objDoc As MSHTML.HTMLDocument

Private Sub Form_Load()
    WebBrowser1.Navigate "www.ya.ru"
    
    Do While WebBrowser1.Busy
        DoEvents
    Loop
    
    Set objDoc = WebBrowser1.Document
End Sub

Private Sub Command1_Click()
    Dim objForm As MSHTML.HTMLFormElement
    
    ' web - название формы.
    Set objForm = objDoc.Forms.web
    ' text - название поля.
    ' Заполняем текстовое поле.
    objForm.Text.Value = "sql.ru"
    ' Извлекаем данные из текстового поля.
    MsgBox objForm.Text.Value
    ' Нажимаем кнопку "Найти".
    objForm.submit
End Sub

Почему этот пример не работает тут: http://www.ogame.ru
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #33811542
Ругается на строчку:
Код: plaintext
Set objForm = objDoc.Forms.formular

438 Object doesn't support this property or method
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #33811837
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В библиотеке MSHTML такого слова, как 'formular' нет.
Так что ругается вполне обоснованно.
Время летнее... телепаты в отпусках... Код надобно посмотреть.
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #33811890
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В загруженном в objForm документе нет формы, имеющей атрибут name="formular"
Потому и ругается.
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #33811972
S. Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marvanВ загруженном в objForm документе нет формы, имеющей атрибут name="formular"
Потому и ругается.
Она там есть:
Код: plaintext
<form name="formular" action="" method="POST" onSubmit="changeAction('login');">
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #33814144
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
marvanВ загруженном в objForm документе нет формы, имеющей атрибут name="formular"
Потому и ругается.
marvan правильно говорит, только не в objForm, а в objDoc, действительно нет такой формы, а на страничке естественно есть. Посмотрев HTML код ресурса www.ogame.ru, пришел к выводу, что причиной всему фреймы, размещенные на стартовых страницах. Немного подкорректировав код, получил следующий вариант.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Private objDoc As MSHTML.HTMLDocument

Private Sub CommandButton1_Click()
    Dim objForm As MSHTML.HTMLFormElement

    Set objForm = objDoc.Forms.formular

    objForm.login.Value = "abc"
    objForm.pass.Value = "123"
    objForm.submit
End Sub

Private Sub UserForm_Initialize()
    WebBrowser1.Navigate "www.ogame.ru"
    
    Do While WebBrowser1.Busy
        DoEvents
    Loop

    Set objDoc = WebBrowser1.Document.frames( 0 ).frames( 0 ).Document
End Sub
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #33824504
S. Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. За помощь.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Visual Basic, IE, Формы....
    #35321264
PeterGromov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за тему ребят очень помогла но вот наткнулся на такую проблемку:
В одной форме есть 2 кнопки типа Submit

<input TYPE=SUBMIT NAME="Sell" VALUE="Продать">
</td></tr>
<tr><td>
<input TYPE=SUBMIT NAME="Buy" VALUE="Купить">

objForm.submit - не отрабатывает нивкакую

Как определить на какую кнопку нажимать ?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Visual Basic, IE, Формы....
    #36967337
SEOMR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AshtonИзвлечение.

Вот тебе еще один простой пример.

Подключи библиотеку "Microsoft HTML Object Library".

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Private objDoc As MSHTML.HTMLDocument

Private Sub Form_Load()
    WebBrowser1.Navigate "www.ya.ru"
    
    Do While WebBrowser1.Busy
        DoEvents
    Loop
    
    Set objDoc = WebBrowser1.Document
End Sub

Private Sub Command1_Click()
    Dim objForm As MSHTML.HTMLFormElement
    
    ' web - название формы.
    Set objForm = objDoc.Forms.web
    ' text - название поля.
    ' Заполняем текстовое поле.
    objForm.Text.Value = "sql.ru"
    ' Извлекаем данные из текстового поля.
    MsgBox objForm.Text.Value
    ' Нажимаем кнопку "Найти".
    objForm.submit
End Sub


Только начал изучать Microsoft HTML Object Library, решил воспользоваться данным примером, вставил код, но у меня выдает постоянно user defined type not defined.
Что я неправильно сделал?
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #36967341
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SEOMRТолько начал изучать Microsoft HTML Object Library, решил воспользоваться данным примером, вставил код, но у меня выдает постоянно user defined type not defined.
Что я неправильно сделал?

не указали строку, на которой возникает ошибка.

Впрочем, я предполагаю, что вы не подключили в References библиотеку Microsoft HTML Type Library
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #36967344
SEOMR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подключил, на первой строке возникает ошибка.
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #36967353
SEOMR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProSEOMRТолько начал изучать Microsoft HTML Object Library, решил воспользоваться данным примером, вставил код, но у меня выдает постоянно user defined type not defined.
Что я неправильно сделал?

не указали строку, на которой возникает ошибка.

Впрочем, я предполагаю, что вы не подключили в References библиотеку Microsoft HTML Type Library


Вы имели ввиду Microsoft HTML Object Library?
Microsoft HTML Type Library не нашел.
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #36967355
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SEOMR,

Примеры рассматривались исходя из предположения, что на форме уже существует объект Webbrowser1. Вы же наверняка просто скопировали код и пытаетесь его запустить... Поищите на форуме и в ИНете темы, связанные с работой MS HTML object library.
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #36967364
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SEOMR,
да именно эту Microsoft HTML Object Library имели ввиду библиотеку
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #36967368
SEOMR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTMSEOMR,

Примеры рассматривались исходя из предположения, что на форме уже существует объект Webbrowser1. Вы же наверняка просто скопировали код и пытаетесь его запустить... Поищите на форуме и в ИНете темы, связанные с работой MS HTML object library.

Разумеется кинул на форму Webbrowser
...
Рейтинг: 0 / 0
Visual Basic, IE, Формы....
    #36967388
SEOMR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прямо мистика какая-то, закрыл тот проект, открыл новый, проделал те же действия, заработало.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Visual Basic, IE, Формы....
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]