Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1452to1456
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

VBA Steuerung des Internetexplorers

VBA Steuerung des Internetexplorers
24.10.2015 15:10:19
Robert
Hallo Foren-Gemeinde.
Bei meinem folgenden Problem benötige ich etwas Hilfe.
Für unseren Verein haben wir ein neues Programm welches rein Online funktioniert und unsere Excellisten ablöst.
Nun habe ich ca. 500 Daten zu übertragen. 100 Mitglieder und noch 400 andere Informationen.
Leider kann ich nicht an eine Datenbank direkt. Daher will ich aus meiner Excel die Daten an das Browserfenster übergeben.
Funktioniert auch soweit wenn ich es einzeln starte.
Aber damit das automatisch funktioniert muss ich jeweils prüfen, welche Seite gerade angezeigt wird.
Es sind 7 unterschiedliche Texte die in den einzelnen Maske anderslauten und ich somit die aktuelle Maske identifiziere.
Diese suche ich mit
CodeBsp 1:
stringHTML = IEApp.Document.Body.InnerHtml
Gefunden = InStr(1, Quelltext, "Text den ich suche und die Maske zu identifizieren"))
Der Rückgabewert ist da eine Zahl die ich dann auswerten könnte.
Wenn ich dann die entprechende Maske gefunden habe, soll jeweils etwas anderes ausgelöst werden.
Wenn ich zum Beispiel in der Mitgliederübersicht bin, soll die Schaltfläche "Hinzufügen" geklickt werden,
dann muss wieder mit dem CodeBsp 1 geprüft werden ob die richtige Maske nun geladen ist.
Wenn ja dann sollen die Felder gefüllt werden. Dies habe ich so gelöst
CodeBsp 2:
Sub Felderfuellen()
Dim objShell As Object
Dim IEApp As Object, win As Object, IEDoc As Object
Dim strTitel As String
strTitel = "Web-Verein - Mitglied hinzufügen"
Set objShell = CreateObject("Shell.Application")
For Each win In objShell.Windows
If InStr(1, LCase(win.FullName), "iexplore")  0 Then
If win.Document.Title = strTitel Then
Set IEApp = win
Set IEDoc = win.Document
AppActivate IEApp.Document.Title
IEApp.Document.all("form_title").Value = Cells(1, 1)
IEApp.Document.all("form_forename").Value = Cells(1, 2)
IEApp.Document.all("form_lastname").Value = Cells(1, 3)
IEApp.Document.all("form_postalcode").Value = Cells(1, 4)
IEApp.Document.all("form_city").Value = Cells(1, 5)
IEApp.Document.all("form_street").Value = Cells(1, 6)
IEApp.Document.all("form_phone").Value = Cells(1, 7)
IEApp.Document.all("form_fax").Value = Cells(1, 8)
IEApp.Document.all("form_email").Value = Cells(1, 9)
End If
End If
Next
Set objShell = Nothing
End Sub

Und das so lange bis alle Mitglieder angelegt sind.
Wie kann ich das nun in eine Schleife einbauen? Einmal eine Schleife die Zeile für Zeile also
Mitglied für Mitglied der Excel durchgeht und dann jeweils die Masken durchgeht bis die Meldung im Html
kommt "Mitglied wurde erfolgreich angelegt"?
Danke vielmals wenn Ihr helfen könntet.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Steuerung des Internetexplorers
24.10.2015 15:23:48
Hajo_Zi
Zu Crossposting lies diese Seite Hajo-Excel.de
Durch Crosspostuing werden mehrere Gruppen von Leuten mit dem gleichen Thema befasst, ohne dass sie voneinander wissen.
Naturgemäß laufen dann die Antworten, die im einen Forum "zu spät" gegeben wurden, ins Leere und bleiben ohne Resonanz.
Es reicht also, zunächst in einem Forum zu posten - wenn die Antworten dann unbefriedigend sein sollten, steht es einem anschließend immer noch offen, ein anderes Forum zu Rate zu ziehen.
Ich mache keine Werbung für andere Foren und verzichte darum auf den Link.
lese FAQ

Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige