Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Visual Basic, IE, Формы.... / 21 сообщений из 21, страница 1 из 1
03.04.2006, 13:11
    #33640961
Nickson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Basic, IE, Формы....
У меня два вопроса:
1. Пусть я в своей программе использую компонент IE. А если на другом компьютере установлен FireFox например, моя работать же не будет.Что можно сделать? Наверное устаность компонент..но не знаю куда, и так ли решается эта проблема..?
2. Как с помощью VB извлечь из полей формы web-страницы даные и наоборот, - заполнить поля на страцице определёнными данными? (Имеется ввиду встроенный компонент IE, а не браузер).
Thanks!
...
Рейтинг: 0 / 0
03.04.2006, 14:57
    #33641316
marvan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Basic, IE, Формы....
по первому вопросу.
Программа, используюшая компонент 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
03.04.2006, 21:25
    #33642205
Nickson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Basic, IE, Формы....
Так это заполнение формы или извлечение информации?
...
Рейтинг: 0 / 0
03.04.2006, 21:54
    #33642230
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Basic, IE, Формы....
Извлечение.

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

Подключи библиотеку "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
08.04.2006, 21:02
    #33653973
Nickson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Basic, IE, Формы....
А дело в том, что чё-то страницы не грузятся
...
Рейтинг: 0 / 0
23.06.2006, 14:27
    #33811521
Visual Basic, IE, Формы....
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
23.06.2006, 14:35
    #33811542
Visual Basic, IE, Формы....
Ругается на строчку:
Код: plaintext
Set objForm = objDoc.Forms.formular

438 Object doesn't support this property or method
...
Рейтинг: 0 / 0
23.06.2006, 15:48
    #33811837
marvan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Basic, IE, Формы....
В библиотеке MSHTML такого слова, как 'formular' нет.
Так что ругается вполне обоснованно.
Время летнее... телепаты в отпусках... Код надобно посмотреть.
...
Рейтинг: 0 / 0
23.06.2006, 16:01
    #33811890
marvan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Basic, IE, Формы....
В загруженном в objForm документе нет формы, имеющей атрибут name="formular"
Потому и ругается.
...
Рейтинг: 0 / 0
23.06.2006, 16:28
    #33811972
S. Fedorenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Basic, IE, Формы....
marvanВ загруженном в objForm документе нет формы, имеющей атрибут name="formular"
Потому и ругается.
Она там есть:
Код: plaintext
<form name="formular" action="" method="POST" onSubmit="changeAction('login');">
...
Рейтинг: 0 / 0
26.06.2006, 11:47
    #33814144
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Basic, IE, Формы....
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
30.06.2006, 15:01
    #33824504
S. Fedorenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Basic, IE, Формы....
Спасибо. За помощь.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
19.05.2008, 16:25
    #35321264
PeterGromov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Basic, IE, Формы....
Спасибо за тему ребят очень помогла но вот наткнулся на такую проблемку:
В одной форме есть 2 кнопки типа Submit

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

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

Как определить на какую кнопку нажимать ?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
20.11.2010, 15:04
    #36967337
SEOMR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Basic, IE, Формы....
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
20.11.2010, 15:09
    #36967341
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Basic, IE, Формы....
SEOMRТолько начал изучать Microsoft HTML Object Library, решил воспользоваться данным примером, вставил код, но у меня выдает постоянно user defined type not defined.
Что я неправильно сделал?

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

Впрочем, я предполагаю, что вы не подключили в References библиотеку Microsoft HTML Type Library
...
Рейтинг: 0 / 0
20.11.2010, 15:10
    #36967344
SEOMR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Basic, IE, Формы....
Подключил, на первой строке возникает ошибка.
...
Рейтинг: 0 / 0
20.11.2010, 15:18
    #36967353
SEOMR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Basic, IE, Формы....
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
20.11.2010, 15:21
    #36967355
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Visual Basic, IE, Формы....
SEOMR,

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

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

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


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