Thema Datum  Von Nutzer Rating
Antwort
23.03.2015 18:26:13 Shokoboko
Solved
23.03.2015 18:29:45 Shokoboko
Solved
23.03.2015 18:48:52 Gast57308
Solved
24.03.2015 16:01:51 Gast56155
Solved
Rot Web-Formulare automatisch ausfüllen lassen
24.03.2015 21:04:47 Gast64363
Solved
25.03.2015 17:31:13 Gast74704
Solved
25.03.2015 19:09:28 Gast51401
NotSolved

Ansicht des Beitrags:
Von:
Gast64363
Datum:
24.03.2015 21:04:47
Views:
1015
Rating: Antwort:
 Nein
Thema:
Web-Formulare automatisch ausfüllen lassen

Man sollte dabei immer im Kopf behalten, dass dies alles asynchron abläuft.

Den nächsten Durchgang also erst lostreten, wenn der vorherige abgeschlossen ist. Dieses Application.Wait ist da nicht für geeignet.

'
'Ort: in einem beliebigen Klassenmodul (z.B. Tabelle1)
'
'erforderliche Verweise: (VBA-Editor Menü: 'Extras' -> 'Verweise...')
' * Microsoft Internet Controls
' * Microsoft HTML Objekt Library
'
'Anmerkung:
' Sämtliche Ausgaben erfolgen in diesem Beispiel im Direktfenster
' (ggf. einblenden über VBA-Editor Menü: 'Ansicht' -> 'Direktfenster').
Option Explicit

Private WithEvents MyWebBrowser As SHDocVw.InternetExplorer
Private vntaURL As Variant
Private URLIdx As Long

Sub Testlauf_Start()
  
  vntaURL = Array("www.google.de", "www.bing.de", "www.yahoo.de")
  URLIdx = LBound(vntaURL)
  
  If MyWebBrowser Is Nothing Then
    Set MyWebBrowser = New SHDocVw.InternetExplorer
  End If
  
  Call MyWebBrowser.Navigate(vntaURL(URLIdx))
  
End Sub

Private Sub MyWebBrowser_DocumentComplete(ByVal pDisp As Object, URL As Variant)
  
  Dim htmlDoc   As MSHTML.HTMLDocument
  Dim htmlLinks As MSHTML.IHTMLElementCollection
  Dim i         As Long
  
  Set htmlDoc = MyWebBrowser.document
  Set htmlLinks = htmlDoc.getElementsByTagName("a")

'>> Ausgabe im Direktfenster >>
  Debug.Print 'leere Zeile
  Debug.Print "URLIdx[" & URLIdx & "] = '" & vntaURL(URLIdx) & "'"
  'maximal drei Links dieser Seite ausgeben
  For i = 0 To WorksheetFunction.Min(3, htmlLinks.Length) - 1
    Debug.Print Tab(5); "Link" & (1 + i) & " = '" & htmlLinks(i).href & "'"
  Next
  If htmlLinks.Length > 0 Then
    Debug.Print Tab(5); "..."
    Debug.Print Tab(5); "(Links insgesamt: " & htmlLinks.Length & ")"
  Else
    Debug.Print Tab(5); "(keine Links vorhanden)"
  End If
'<< Ausgabe im Direktfenster <<

  If URLIdx < UBound(vntaURL) Then
  '> nächste URL
    URLIdx = URLIdx + 1
    Call MyWebBrowser.Navigate(vntaURL(URLIdx))
  Else
  '> keine URL mehr verfügbar -> Objekt freigeben
    Call MyWebBrowser.Quit
    Set MyWebBrowser = Nothing '(!)
  End If
  
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
23.03.2015 18:26:13 Shokoboko
Solved
23.03.2015 18:29:45 Shokoboko
Solved
23.03.2015 18:48:52 Gast57308
Solved
24.03.2015 16:01:51 Gast56155
Solved
Rot Web-Formulare automatisch ausfüllen lassen
24.03.2015 21:04:47 Gast64363
Solved
25.03.2015 17:31:13 Gast74704
Solved
25.03.2015 19:09:28 Gast51401
NotSolved