Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1400to1404
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formular im Internet mit VBA ausfüllen (Dropdown)

Formular im Internet mit VBA ausfüllen (Dropdown)
29.12.2014 18:16:39
Christa
Guten Abend
Ich bin ziemlich verzweifelt und wäre Euch wahnsinnig dankbar für eine wenig Hilfe.
Wir benötigen im Büro häufig die Adresse von Betreibungsämter und möchten daher das Formular im Internet automatisch ausfüllen. Das ist soweit auch kein Problem, ausser beim DropDown für die Ortschaft. Fülle ich das Formular von Hand aus, erscheinen die Ortschaften im DropDown, sobald ich die Postleitzahl ins Feld eingebe. Bei der Eingabe mit
.getelementbyid("postCode").Value = "XXXX"
klappt das leider nicht - das DropDown enthält keine Werte. Bis jetzt habe ich mir damit beholfen, sendkeys zu verwenden und damit im Feld für die Postleitzahl "Enter" zu klicken. Diese Lösung funktioniert aber leider nur teilweise.
Es geht um folgende Website:
https://www.e-service.admin.ch/eschkg/app/wizard/navigate.do
Im folgenden seht Ihr einen Ausschnitt aus dem Code mit einer Beispiel-Adresse
Public Sub Betreibungsamt()
Dim IEApp As Object
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = True
IEApp.Navigate "https://www.e-service.admin.ch/eschkg/cms/navigation/Betreibung/ _
99_index_html_de"
Do: Loop Until IEApp.Busy = False
Do: Loop Until IEApp.Busy = False
Do: Loop Until IEApp.Document.ReadyState = "complete"
'Link finden und anklicken.
For i = 0 To IEApp.Document.Links.Length - 1
linktext = IEApp.Document.Links(i).innertext
If linktext = "Zuständiges Amt finden" Then
IEApp.Document.Links(i).Click
Exit For
End If
Next i
Do: Loop Until IEApp.Busy = False
Do: Loop Until IEApp.Busy = False
With IEApp.Document
Do: Loop Until .ReadyState = "complete"
'Formular ausfüllen
.getelementbyid("street").Value = "Rappenstrasse"
.getelementbyid("number").Value = "38"
.getelementbyid("postCode").Value = "8307"
.getelementbyid("postCode").Select
End With
Application.SendKeys "{ENTER}", True
End Sub

Vielen Dank für Eure Hilfe

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formular im Internet mit VBA ausfüllen (Dropdown)
30.12.2014 09:22:47
Anton
Hallo Christa,
probier's hiermit:
Option Explicit
Public Sub Betreibungsamt()
Dim IEApp As Object, postcode As Object, onrp As Object
Dim all As Object, def, inp, s As String
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Navigate "https://www.e-service.admin.ch/eschkg/app/forward.do?forward=zustaendigkeit& _
amp;navId=zustaendigkeit"
Do: Loop Until IEApp.Busy = False
Do: Loop Until IEApp.Busy = False
With IEApp.Document
Do: Loop Until .ReadyState = "complete"
.getelementbyid("street").Value = "Rappenstrasse"
.getelementbyid("number").Value = "38"
Set postcode = .getelementbyid("postCode")
postcode.Value = "8307"
postcode.OnKeyup
Application.Wait (Now + TimeValue("0:00:02"))
Set onrp = .getelementbyid("onrp")
s = ""
If onrp.Length > 1 Then
s = "Bitte präzisieren:" & vbCrLf & vbCrLf
For Each all In onrp
If all.Value  "" Then s = s & all.Value & " für " & all.innertext & vbCrLf
def = all.Value
Next
End If
If s  "" Then
inp = InputBox(s, "Eingabe erforderlich", def)
onrp.Value = inp
End If
.getelementbyid("search").Click
End With
IEApp.Visible = True
End Sub

mfg Anton

Anzeige
AW: Formular im Internet mit VBA ausfüllen
30.12.2014 10:54:28
Christa
Hallo Anton
Klappt super. Vielen, vielen Dank! Bin super happy. Danke für Deine Hilfe und Deinen Einsatz.
Liebe Grüsse
Christa

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige