Помогите довести до ума

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
theal
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 148
Зарегистрирован: 03.05.2009 (Вс) 16:12

Помогите довести до ума

Сообщение theal » 03.05.2009 (Вс) 19:55

Вот код програмки которая открывает страницу сайта ,стягивает все ссылки в листбокс.Помогите пожалуйста,что ссылки не стягивать в листбокс а найти их в браузере и произвести програмно переход по ним.С листбокса при переходе не определяется ,откуда сделан переход..А нужно что бы было видно что переход совершается с сайта с которого и взяты эти ссылки.


Код: Выделить всё

Dim Adres As String
Dim partner As String
Dim ie As Object

   
   

Private Sub Command1_Click()

    Adres = Text1.Text
    WebBrowser1.Navigate Adres
End Sub

Private Sub Command2_Click()
WebBrowser1.Refresh 'Â Caption ýòîé êíîïêè íàïèøèòå "Îáíîâèòü"
End Sub

Private Sub Command3_Click()
Close
End
End Sub


Private Sub Command6_Click()
Set ie = CreateObject("InternetExplorer.Application")
End Sub

Private Sub Command7_Click()
partner = Text2.Text
WebBrowser2.Navigate partner
End Sub

Private Sub List1_Click()
Text2.Text = List1.Text
End Sub

Private Sub Text2_Change()
Timer2.Enabled = True
End Sub

Private Sub Text3_Change()
If Text3.Text = "30" Then
partner = Text2.Text
WebBrowser2.Navigate partner
Text3.Text = "0"
Timer2.Enabled = False
End If
End Sub

Private Sub Timer1_Timer()
If Text2.Text = "" Then
Timer1.Enabled = False
End If
Text3.Text = Text3.Text + 1
End Sub

Private Sub Timer2_Timer()
Text3 = Text3 + 1
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Label1.Caption = "Çàãðóçêà ïðîèçâåäåíà"
End Sub

Private Sub WebBrowser1_DownloadComplete()
Me.Caption = WebBrowser1.LocationName
End Sub

Private Sub Form_Unload(Cancel As Integer)
End
End Sub

Function Delay(Pause As Single)
Dim Start As Single
Start = Timer
Do While Timer < Start + Pause
DoEvents
Loop
End Function

Private Sub Command4_Click()
On Error Resume Next
List1.Clear
Dim x
WebBrowser1.Navigate Text1.Text
Delay 5 'çàäåðæà íåîáõîäèìà äëÿ çàãðóçêè ñòðàíèöû
'èíîãäà òðåáóåòñÿ óâåëè÷èòü âðåìÿ çàãðóçêè äî 30 ñåêóíä.
For i = 1 To WebBrowser1.Document.links.length - 1
List1.AddItem WebBrowser1.Document.links(i).href

Next
End Sub

Private Sub Command5_Click()
On Error Resume Next
List1.Clear
Dim x
WebBrowser1.Navigate Text1.Text
Delay 5
For i = 0 To 50
masS(i) = ie.Document.Forms(0).elements(i).Value
Next
If InStr(1, WebBrowser1.Document.links(i).href, ".asp") <> 0 Or InStr(1, WebBrowser1.Document.links(i).href, ".htm") <> 0 Then
List1.AddItem WebBrowser1.Document.links(i).href

End If
Next
End Sub

trash
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 113
Зарегистрирован: 28.01.2009 (Ср) 12:09

Re: Помогите довести до ума

Сообщение trash » 04.05.2009 (Пн) 11:34

Нужно запоминать не только ссылки, но и links(i).sourceIndex, тогда желаемый результат получится с помощью document.all(srcInd).click.
Ну или индекс в links и document.links(i).click, если оно тебе больше нравится.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing-бот и гости: 33

    TopList