Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
23.03.2015 18:26:13 |
Shokoboko |
|
|
|
23.03.2015 18:29:45 |
Shokoboko |
|
|
|
23.03.2015 18:48:52 |
Gast57308 |
|
|
|
24.03.2015 16:01:51 |
Gast56155 |
|
|
Web-Formulare automatisch ausfüllen lassen |
24.03.2015 21:04:47 |
Gast64363 |
|
|
|
25.03.2015 17:31:13 |
Gast74704 |
|
|
|
25.03.2015 19:09:28 |
Gast51401 |
|
|
Von:
Gast64363 |
Datum:
24.03.2015 21:04:47 |
Views:
1016 |
Rating:
|
Antwort:
|
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
|
- 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
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- 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 |
|
|
|
23.03.2015 18:29:45 |
Shokoboko |
|
|
|
23.03.2015 18:48:52 |
Gast57308 |
|
|
|
24.03.2015 16:01:51 |
Gast56155 |
|
|
Web-Formulare automatisch ausfüllen lassen |
24.03.2015 21:04:47 |
Gast64363 |
|
|
|
25.03.2015 17:31:13 |
Gast74704 |
|
|
|
25.03.2015 19:09:28 |
Gast51401 |
|
|