на это тему есть множество дискуссий, но ничего конкретного...
Private Sub Command1_Click()
Dim Ie As Object
Set Ie = CreateObject("InternetExplorer.Application")
Ie.Navigate "http:\\google.com.ru"
Ie.MenuBar = 1
Ie.ToolBar = 1
Ie.StatusBar = 1
Ie.AddressBar = 1
Ie.Visible = 1
Do While Ie.Busy
DoEvents
Loop
Ie.Document.All("q").Value = "Odrick"
Ie.Document.All("il").Click
Ie.Document.All("btnG").Click
End Sub
Ie.Document.All("capcha").Value = Text1.Text
lostos писал(а):ну если я загружу страницу в webbrowser как я буду поля заполнять? поля же заполняются с помощью взаимодействия с IE
Private Sub Command1_Click()
Dim Ie As Object
Set Ie = CreateObject("InternetExplorer.Application")
Ie.Navigate "http:\\site.com"
Ie.MenuBar = 1
Ie.ToolBar = 1
Ie.StatusBar = 1
Ie.AddressBar = 1
Ie.Visible = 1
Do While Ie.Busy
DoEvents
Loop
Ie.Document.All("login").Value = Text1.Text 'Поле логин
Ie.Document.All("pass").Value = Text2.Text 'Поле пароль
Ie.Document.All("confirmpass").Value = Text2.txet 'Подтверждение пароля
Ie.documents.All("kapcha").Value = Text3.Text 'Поле куда вводятся циферки с капчи
End Sub
Private Sub Form_Activate()
Dim URL
URL = "http://www.yandex.ru"
If LoadDocumentFromURL(URL, HTMLDocument) Then
For Each IMG In HTMLDocument.All.tags("IMG")
If LoadPictureFromURL(IMG.src, ipic) Then
Me.Picture = ipic
MsgBox "Загружена картинка: """ & IMG.src & """.", vbInformation, "LoadPictureFromURL"
Else
MsgBox "Ошибка при загрузке картинки. """ & IMG.src & """. " & Err.Description, vbCritical, "LoadPictureFromURL"
End If
Next
Else
MsgBox Err.Description, "Ошибка при загрузке документа", vbCritical
End If
End Sub
Function LoadDocumentFromURL(URL, HTMLDocument)
On Error Resume Next
Dim XMLHTTP
Set XMLHTTP = CreateObject("MSXML2.XMLHTTP")
XMLHTTP.Open "GET", URL, False
XMLHTTP.Send
If XMLHTTP.Status <> 200 Then
Err.Raise vbObjectError + XMLHTTP.Status, "LoadDocumentFromURL", XMLHTTP.Status & " " & XMLHTTP.statustext
Exit Function
End If
Dim Stream
Set Stream = CreateObject("ADODB.Stream")
If Err.Number <> 0 Then Exit Function
Stream.Charset = "Windows-1251"
Stream.Type = 1
Stream.Open
Stream.Write XMLHTTP.ResponseBody
Stream.Position = 0
Stream.Type = 2
If Err.Number <> 0 Then Exit Function
Set HTMLDocument = CreateObject("HTMLFile")
HTMLDocument.Open
HTMLDocument.Write "<BASE href=""" & URL & """>"
HTMLDocument.Close
HTMLDocument.body.innerhtml = Stream.ReadText
If Err.Number <> 0 Then Exit Function
If Err.Number = 0 Then LoadDocumentFromURL = True
End Function
Function LoadPictureFromURL(URL, IpictureDisp)
On Error Resume Next
LoadPictureFromURL = False
Dim XMLHTTP
Set XMLHTTP = CreateObject("MSXML2.XMLHTTP")
XMLHTTP.Open "GET", URL, False
XMLHTTP.Send
If XMLHTTP.Status <> 200 Then
Err.Raise vbObjectError + XMLHTTP.Status, "LoadPictureFromURL", XMLHTTP.Status & " " & XMLHTTP.statustext
Exit Function
End If
Set Stream = CreateObject("ADODB.Stream")
Stream.Type = 1
Stream.Open
Stream.Write XMLHTTP.ResponseBody
If Err.Number <> 0 Then Exit Function
Dim FileSystemObject
Set FileSystemObject = CreateObject("Scripting.FileSystemObject")
Dim TempFileName
TempFileName = FileSystemObject.GetSpecialFolder(2) & FileSystemObject.GetBaseName(FileSystemObject.GetTempName)
Stream.SaveToFile TempFileName, 2
Set IpictureDisp = LoadPicture(TempFileName)
FileSystemObject.DeleteFile TempFileName
If Err.Number = 0 Then LoadPictureFromURL = True
End Function
Set Ie = CreateObject("InternetExplorer.Application")
Ie.Navigate "http:\\site.com"
вот я и спрашиваю где почитать про возможности функции взаимодействия с IE в VB
RayShade писал(а):Чем больше я читаю этот пост, тем меньше понимаю, зачем его автор это все городит.
RayShade писал(а):При загрузке всей формы в webbrowser, у тебя там будет и картинка и все остальное. Если ты прямо после этлого через DOM модель заполнишь поля, то все будет окей. Зачем перегружать страницу еще раз? В чем проблема?
Сейчас этот форум просматривают: Google-бот и гости: 43