Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Steuerung Internet Explorer

Betrifft: Steuerung Internet Explorer von: Tom
Geschrieben am: 19.08.2014 11:11:23

Hallo zusammen,

ich möchte über einen VBA Code eine Anwendung über den Internet Explorer aufrufen und an einer bestimmten Positionen auf der Seite eine variable Auftragsnummer manuell in ein Feld über ein Eingabefenster eintragen lassen, damit ich nur von diesem Auftrag die Umfänge erhalte. Über den Befehl sendkeys z.B. TAB lässt es sich schlecht umsetzen, da unterschiedliche User auch unterschiedliche IE Oberflächeneinstellungen benutzen. Welche Möglichkeit gibt es noch?

Unten folgend der Code den ich bisher erstellt habe.

Sub IE()

  On Error Resume Next
  Dim IEApp As Object
  Dim strURL As String
  Set IEApp = CreateObject("InternetExplorer.Application")
  IEApp.Visible = True
IEApp.Navigate "http://um.dc.lan/umebosswebapp/frmAN100.do" 'anpassen
  Do: Loop Until IEApp.Busy = False
  Do: Loop Until IEApp.Busy = False
  Do: Loop Until IEApp.Document.ReadyState = "complete"
  Set IEApp = Nothing

End Sub

Gruß Tom

  

Betrifft: AW: Steuerung Internet Explorer von: mumpel
Geschrieben am: 19.08.2014 12:19:07

Hallo!

Wenn Du den Namen oder die ID des Feldes kennst kannst Du darüber etwas erreichen. ID und Namen findest Du im Quellcode der Seite.

Sub IE()

  On Error Resume Next
  
  Dim IEApp   As Object
  Dim IEDoc   As Object
  

  
  
  Set IEApp = CreateObject("InternetExplorer.Application")
  
      With IEApp
          .Visible = True
          .Navigate "http://um.dc.lan/umebosswebapp/frmAN100.do"
          Do: Loop Until .Busy = False
          Do: Loop Until .Busy = False
      
          If .ReadyState = 4 Then
        
             Set IEDoc = IEApp.Document
                 With IEDoc.Forms(0)
                      .Elements("Feld1").Value = "1234"
                      .Elements("Feld2").Value = "9876"
                 End With
          
          End If
      End With

End Sub




VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 15
Gruß, René


  

Betrifft: AW: Steuerung Internet Explorer von: Tom
Geschrieben am: 19.08.2014 12:43:15

Hallo,

super, das Feld habe ich gefunden. Wie bestätige ich jetzt in Deinem Code die Selektierung bzw.
die Selektierung soll durch ein aufpoppendes Abfragefenster durch den User eigenständig definiert werden, ohne dass der Code aufgerufen und angepasst werden muss. Wie lässt sich das am besten umsetzen?

Sub IE()

  On Error Resume Next
  
  Dim IEApp   As Object
  Dim IEDoc   As Object
  

  Set IEApp = CreateObject("InternetExplorer.Application")
  
      With IEApp
          .Visible = True
.Navigate "http://um.dc.lan/umebosswebapp/frmAN100.do"
          Do: Loop Until .Busy = False
          Do: Loop Until .Busy = False
      
          If .ReadyState = 4 Then
        
             Set IEDoc = IEApp.Document
                 With IEDoc.Forms(0)
                      .Elements("metaData.visibleFilters[0].pattern").Value = "4050 "

                 End With
          
          End If
      End With

End Sub

Gruß Tom


  

Betrifft: AW: Steuerung Internet Explorer von: Tom
Geschrieben am: 19.08.2014 13:15:23

Hallo,

ohne das Abfragefenster habe ich es mit Sendkeys umsetzen können.

Jetzt komme ich einen Schritt weiter und schon zu einem weiteren Problem. Durch den Befehl .Elements("export").Click öffnet sich eine neue Registerkarte im IE und es poppt zusätzlich ein Downloadfenster auf, das mit Speichern unter bestätigt werden muss. Wie komme ich auf das Downloadfenster zum bestätigen? Durch die Sicherheitsrichtlinien kann ich leider keinen Haken für die dauerhafte Zustimmung setzen. Eine Idee wie ich es umgehen kann oder über das Makro bestätige?

Sub IE()

  On Error Resume Next
  
  Dim IEApp   As Object
  Dim IEDoc   As Object
  

  Set IEApp = CreateObject("InternetExplorer.Application")
  
      With IEApp
          .Visible = True
.Navigate "http://um.dc.lan/umebosswebapp/frmAN100.do"
          Do: Loop Until .Busy = False
          Do: Loop Until .Busy = False
      
          If .ReadyState = 4 Then
        
             Set IEDoc = IEApp.Document
                 With IEDoc.Forms(0)
                      .Elements("metaData.visibleFilters[0].pattern").Value = "40500"
                      SendKeys ("{enter}")
                      .Elements("export").Click
                 
                 End With
          
          End If
      End With

End Sub



  

Betrifft: AW: Steuerung Internet Explorer von: Tom
Geschrieben am: 22.08.2014 08:58:09

Hallo,

duch welchen Befehl kann ich denn den Bildschirm komplett markieren, kopieren und dann den Inhalt in ein Tabellenblatt einfügen? Über Sendkeys ("{^A}") und ("{^C}") habe ich es nicht hinbekommen!

Bitte um Hilfe!

Danke

Gruß Tom


 

Beiträge aus den Excel-Beispielen zum Thema "Steuerung Internet Explorer "