Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Web-Formular ausfüllen und abfragen

Web-Formular ausfüllen und abfragen
JürgenH
Liebe Excel-Fachleute,
ich habe von Anton die folgende Sub zum Online-BIC-Prüfen bekommen (bei Doppelklick auf BIC-Zelle):
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim IEApp As Object, IEDocument As Object
Dim objWMIService As Object, colItems As Object, objItem As Object
Dim fensterhoehe As Integer, fensterbreite As Integer
If Target.Column > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DisplayConfiguration", , 48)
For Each objItem In colItems
fensterhoehe = objItem.PelsHeight
fensterbreite = objItem.PelsWidth
Next
Set IEApp = CreateObject("InternetExplorer.Application")
With IEApp
.Navigate ("http://www.swift.com/bsl/freequery.do")
.Visible = True
.Width = fensterbreite
.Height = fensterhoehe
.Left = 0
.Top = 0
End With
Do: Loop Until IEApp.Busy = False
Do: Loop Until IEApp.Busy = False
Set IEDocument = IEApp.Document
Do
Loop Until IEDocument.ReadyState  4
IEDocument.getElementById("selected_bic").Value = Target.Value
Application.Wait (Now + TimeValue("0:00:01"))
IEDocument.frmFreeSearch1.submit
Set IEDocument = Nothing
Set IEApp = Nothing
Set objWMIService = Nothing
Set colItems = Nothing
Cancel = True
End Sub

Das funktioniert wunderbar.
Jetzt möchte ich dasselbe mit der IBAN-Prüfung machen. Wie kann ich die Sub modifizieren, dass bei Doppelklick auf eine Zelle, in der eine IBAN steht (z.B. NL39INGB0674164644), die Seite
http://www.iban-rechner.de/iban_validieren.html?&L=0
aufgerufen wird, der Zellinhalt ins Eingabefeld eingestellt wird und die Prüfung submittet wird?
Vielen Dank für Eure Hilfe.
Liebe Grüße
Jürgen
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Web-Formular ausfüllen und abfragen
16.07.2009 13:27:17
sry,
Hallo,
habe die Änderungen markiert. Oder kopiere den ganzen Code.
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim IEApp As Object, IEDocument As Object
Dim objWMIService As Object, colItems As Object, objItem As Object
Dim fensterhoehe As Integer, fensterbreite As Integer
Dim strTag As String, strURL As String '<-----
Dim intSubmitID As Integer '<-----
If Target.Column > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
'-------------------------
'IBAN oder BIC?
If Mid(Target.Value, 1, 2) Like "[A-Z][A-Z]##" Then
'IBAN
strURL = "http://www.iban-rechner.de/iban_validieren.html?&L=0"
strTag = "tx_valIBAN_pi1[iban]"
intSubmitID = 0
Else
'BIC
strURL = "http://www.swift.com/bsl/freequery.do"
strTag = "selected_bic"
intSubmitID = 1
End If
'-------------------------
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DisplayConfiguration", , 48)
For Each objItem In colItems
fensterhoehe = objItem.PelsHeight
fensterbreite = objItem.PelsWidth
Next
Set IEApp = CreateObject("InternetExplorer.Application")
With IEApp
.Navigate (strURL) '<----
.Visible = True
.Width = fensterbreite
.Height = fensterhoehe
.Left = 0
.Top = 0
End With
Do: Loop Until IEApp.Busy = False
Do: Loop Until IEApp.Busy = False
Set IEDocument = IEApp.Document
Do
Loop Until IEDocument.ReadyState <> 4
IEDocument.getElementById(strTag).Value = Target.Value '<----
Application.Wait (Now + TimeValue("0:00:01"))
IEDocument.forms(intSubmitID).submit '<-----
Set IEDocument = Nothing
Set IEApp = Nothing
Set objWMIService = Nothing
Set colItems = Nothing
Gruß- Micha
Anzeige
AW: Web-Formular ausfüllen und abfragen
16.07.2009 14:51:18
JürgenH
Danke, Micha, das funzt jetzt (nachdem ich die Selektion, ob IBAN oder BIC, noch geringfügig angepasst habe)
Eine Frage noch für nächste Aktionen dieser Art: wie kommt man über den Web-Seitencode eigentlich an die Daten, die zu strTag und intSubmitID eingegeben werden müssen? Ich bin kein HTML-Fachmann.
Anzeige
AW: Web-Formular ausfüllen und abfragen
17.07.2009 08:59:09
sry,
Hallo,
mit IBAN und BIC kenne ich mich nicht so aus, fein wen Du das angepasst hast.
Du musst Dir in HTML den Quellcode anschauen. Dazu rechte Maustaste auf die Web-Seite und "Quelltext anzeigen". Dann suchst Du nach einem Text der in der Nähe des Eingabefeldes steht, um Dich zu orientieren. (wenn Du Firefox hast: Bereich um das Eingabefeld markieren, rechte Maus und "Markierung Quelltext anzeigen" (oder ähnlich)). Das Eingabefeld wird im Quelltext mit <INPUT type="text" name="irgendwas"... definiert, und das was bei name steht ist der eindeutige Bezeichner des Eingabefeldes. Den Namen habe ich unter strTag abgelegt. Die Verschicken- Tasten werden mit <INPUT type="submit"... definiert, aber die haben nicht immer einen Namen. Darum musste ich diese über die ID ansprechen, die kriegt man durch herumprobieren heraus (natürlich auch durch einige Zeilen Code). Das Problem ist dann aber: wenn der Besitzer der Webseite eine weitere Eingabetaste in der Webseite einbaut, kann die ID u.U. nicht mehr stimmen und du müsstest dann die neue ID herausfinden. Wenn man die Felder mit Namen anspricht passiert das nicht so schnell, denn der ändert sich normalerweise nicht.
Gruß- Micha
Anzeige
AW: Web-Formular ausfüllen und abfragen
17.07.2009 10:15:16
JürgenH
Danke, Micha, das hilft mir echt weiter.
Dieses Forum ist Gold wert!
Ein schönes Wochenende wünscht
Jürgen
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige