Formular im Internet ausfüllen

Bild

Betrifft: Formular im Internet ausfüllen
von: Miramis
Geschrieben am: 24.09.2015 11:50:57

Hallo,
Wir benötigen ein Makro, das die Adresse des jeweils zuständigen Grundbuchamtes ermittelt. Das hat ein Jahr funktioniert und nun geht es seit ein paar Wochen aus unerfindlichen Gründen nicht mehr.
Problem: Nachdem ich das Formular ausgefüllt und abgeschickt habe, müssen Informationen aus dem HTML-Quellcode der neuen Seite herausgelesen werden. Aber ich erhalte immer nur den Quellcode der ursprünglichen Seite (vor dem Ausfüllen des Formulars). Wahrscheinlich wartet das Makro nicht, bis die Seite wirklich geladen ist, aber mir ist nicht klar warum.
Vielen Dank für Eure Hilfe! Bin am Verzweifeln.
Hier ein Minimalbeispiel dazu:

Option Explicit
Sub Grundbuchamt()
Dim IEApp As Object
Dim Ort, htmlIn As String
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = True
IEApp.Navigate "http://www.zbgr.ch/deu/gru_chh.php"
   
Do: Loop Until IEApp.Busy = False
Do: Loop Until IEApp.Busy = False
Do: Loop Until IEApp.Document.ReadyState = "complete"
Ort = "Effretikon"
IEApp.Document.forms("Grundbuchamt").Elements("Begriff").Value = Ort
        
IEApp.Document.forms("Grundbuchamt").Elements("Submit").Click
Do: Loop Until IEApp.Busy = False
Do: Loop Until IEApp.Busy = False
Do: Loop Until IEApp.Document.ReadyState = "complete"
htmlIn = IEApp.Document.body.innerhtml
     
Debug.Print htmlIn
    
End Sub

Bild

Betrifft: AW: Formular im Internet ausfüllen
von: Luschi
Geschrieben am: 24.09.2015 16:43:28
Hallo Miramis,
benutze
IEApp.Document.body.outerhtml
da stehen die gesuchten Angaben drin.
Gruß von Luschi
aus klein-Paris

Bild

Betrifft: AW: Formular im Internet ausfüllen
von: Miramis
Geschrieben am: 25.09.2015 14:40:11
Hallo Luschi
Vielen Dank für Deine Antwort. Leider habe ich mit outerhtml genau das gleiche Problem. Auf den alten PC's klappt es (wie auch mit innerhtml) aber mit den neuen PC's geht es nicht mehr. Keine Ahnung warum.
Liebe Grüsse
Miramis

Bild

Betrifft: AW: Formular im Internet ausfüllen
von: Anton
Geschrieben am: 25.09.2015 16:44:39
Hallo Miramis,
probier mal eine kurze Pause einzubauen, bevor du neue Seite ausliest:

...
Application.Wait (Now + TimeValue("0:00:02"))  
htmlIn = IEApp.Document.body.innerhtml       
Debug.Print htmlIn

mfg Anton

Bild

Betrifft: AW: Formular im Internet ausfüllen
von: Miramis
Geschrieben am: 25.09.2015 16:58:10
Hallo Anton
Danke für Deine Rückmeldung. Das habe ich auch schon versucht, bringt aber leider auch nichts :-(
Liebe Grüsse
Miramis

Bild

Betrifft: AW: Formular im Internet ausfüllen
von: Anton
Geschrieben am: 25.09.2015 17:57:23
Hallo Miramis,
bei mir funktioniert es so:

Sub Grundbuchamt()
  
  Dim IEApp As Object, grund As Object
  Dim Ort, htmlIn As String
  
  
  Set IEApp = CreateObject("InternetExplorer.Application")
  
  IEApp.Visible = True
IEApp.Navigate "http://www.zbgr.ch/deu/gru_chh.php"
  
  Do: Loop Until IEApp.Busy = False
  Do: Loop Until IEApp.Busy = False
  Do: Loop Until IEApp.Document.ReadyState = "complete"
  
  
  Ort = "Effretikon"
  Set grund = IEApp.Document.getelementbyid("Grundbuchamt")
  If Not grund Is Nothing Then
    With grund
      Debug.Print .innerhtml
      .all("Begriff").Value = Ort
      .submit
    End With
  End If
  Set grund = Nothing
  
  Do: Loop Until IEApp.Busy = False
  Do: Loop Until IEApp.Busy = False
  Do: Loop Until IEApp.Document.ReadyState = "complete"
  
  Set grund = IEApp.Document.getelementbyid("Grundbuchamt")
  If Not grund Is Nothing Then
    With grund
      Debug.Print .innerhtml
    End With
  End If
  Set grund = Nothing
  
End Sub

mfg Anton

Bild

Betrifft: AW: Formular im Internet ausfüllen
von: Luschi
Geschrieben am: 25.09.2015 19:51:25
Hallo Anton,
bei mir klappt das auch so!
Gruß von Luschi
aus klein-Paris

Bild

Betrifft: AW: Formular im Internet ausfüllen
von: Miramis
Geschrieben am: 25.09.2015 20:34:39
Hallo Anton
Vielen, vielen Dank! Leider kann ich es erst am Dienstag im Büro testen, aber bei mir zu Hause funktioniet es (wobei hier auch das alte funktionierte).
Ich bin Euch wahnsinnig dankbar für Eure Hilfe :-)
Liebe Grüsse
Miramis

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Formular im Internet ausfüllen"