Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1876to1880
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

Weitere TAB in IE + Download-Button

Weitere TAB in IE + Download-Button
21.03.2022 14:57:19
flo4711
Hallo,
ich habe aus div. Archiv-Beiträgen hier eine Makro gebastelt, dass von einer Webseite über eine Schleife mehrere URL aufruft und die angeforderten Daten in eine Excel-Datei runterlädt (jew. über Download-Button auf der aufgerufenen Webseite).
Beispielhaft habe ich das in der folgenden Beispiel-Mappe für 2 URL abgebildet. Da die betreffende Seite ein Login erfordert könnt ihr das leider nicht 1:1 nachvollziehen, sondern es wird 2 x die Hauptseite zum Login aufgerufen.
https://www.herber.de/bbs/user/151937.xlsm
So wie im Makro abgebildet funktioniert auch alles (sofern man eingeloggt ist).
Allerdings wird für jede URL ein neues IE-Fenster geöffnet (Set objIE = New SHDocVw.InternetExplorer).
Ich würde das aber gerne so lösen, dass jede URL in einem neuen TAB des selben Fensters aufgerufen wird.
Leider habe ich das so nicht hinbekommen. Im Prinzip bekomme ich das mit dem 2. TAB hin (.Navigate2 adresse, 2048).
Wie allerdings ab dem 2. Schleifendurchgang das "Set objIE = ?" aussehen müßte ... daran scheitert es ... und so wird halt immer ein neues IE-Fenster geöffnet.
Notfalls kann ich es natürlich auch so belassen. Allerdings sollen im Moment bereits 15 URL aufgerufen werden, so dass mir die "TAB-Lösung" deutlich lieber wäre.
Vielleicht kann mir ja hier jemand weiterhelfen!
Gruß
Gode

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
nur ne Idee...
21.03.2022 15:01:42
Oberschlumpf
Hi Gode,
hab mir deine Datei nich angeschaut und trotzdem schon ne Idee...
Warum schließt du IE-Fenster 1,2,3,usw nicht - bevor - du IE-Fenster 2,3,4,usw öffnest?
Was anderes weiß ich aber auch nicht.
Ciao
Thorsten
AW: nur ne Idee...
21.03.2022 15:30:56
flo4711
Hallo Thorsten,
vielen Dank mal für deinen Tipp. Daran hatte ich auch schon gedacht.
Allerdings muss ich wohl aufgrund der bestehenden Richtlinien und Sicherheitseinstellungen im Unternehmen das "Speichern" der angeforderten Datei noch manuell machen.
Userbild
Es sei denn auch hierfür gäbe es eine Lösung?!
Gruß
Gode
Anzeige
AW: nur ne Idee...
21.03.2022 15:41:34
Oberschlumpf
Hi,
nach Durchlauf deines Makros ne MsgBox mit "Weitermachen?" + Ja/Nein-Button.
Erst den Speichern-Aufruf bestätigen, dann MsgBox = Ja
Wenn JA, dann IE-Fenster schließen, Makro wiederholen, bis wieder MsgBox erscheint.
Ciao
Thorsten
AW: nur ne Idee...
21.03.2022 16:19:55
flo4711
Hallo Thorsten,
vielen Dank! ... das wäre eine Möglichkeit, die praktikabel ist, und die ich so wohl umsetzen werde, sofern nicht doch noch jemand einen Vorschlag für die Lösung über mehrere TABs hat.
Gruß
Gode
Weitere TAB in IE + Download-Button
21.03.2022 20:46:48
Anton
Hallo Gode,
ungetestet:

Option Explicit
Public Sub Download_MBI()  
  Dim objIE As Object  
  Dim htmlDoc As Object    
  Dim htmlInput As Object    
  Dim htmlColl As Object  
  Dim adresse As String  
  Dim URL1 As String  
  Dim URL2 As String  
  Dim URL3 As String  
  Dim sID1 As String  
  Dim sID2 As String  
  Dim vonDatum As String  
  Dim bisDatum As String  
  Dim i As Integer    
  Dim win As Object  
 ' Datum von/bis für URL (40 Tage zurück bis akt. Datum)
  vonDatum = Format(Now() - 40, "dd.mm.yyyy")
  bisDatum = Format(Now(), "dd.mm.yyyy")
 
 ' Variablen für Zusammenbasteln URL definieren
  URL1 = "https://www.mbi-metalsource.com/charting.php?action=show&cmcode1="
  URL2 = "&cmcode2=&cmcode3=&cmcode4=&cmside1=left&cmside2=left&cmside3=left&cmside4=left&cmcurrency1=default&cmcurrency2=default&cmcurrency3=default&cmcurrency4=default&cmmetric1=default&cmmetric2=default&cmmetric3=default&cmmetric4=default&"
  URL3 = "&datestart=" & vonDatum & "&dateend=" & bisDatum & "&smaDays=10"
 
  Set objIE = CreateObject("InternetExplorer.Application")  
  With objIE
    .navigate URL1
    .Visible = True
    .Top = 0
    .Left = 0
    .Height = 400
   'erst einlogen
    MsgBox "Einlogen", vbSystemModal
    .Height = 800
   ' Für jeden relevanten Rohstoff wird im IE ein TAB geöffnet
    For i = 1 To ThisWorkbook.Worksheets.Count - 1  
     ' 4-stellige ID des Rohstoffs in der URL
      sID1 = ThisWorkbook.Worksheets(i).Range("B3")
     ' Unterscheidung der Fälligkeit (Cash, CONT, ...) in der URL
      sID2 = "_" & ThisWorkbook.Worksheets(i).Range("B6")
     ' komplette URL zusammenbasteln
      adresse = URL1 & sID1 & sID2 & URL2 & URL3
      .Navigate2 adresse, 2048
      Application.Wait (Now + TimeValue("0:00:02")) 'anpassen
    Next
  End With  
 
  For Each win In CreateObject("Shell.Application").Windows    
    If InStr(1, UCase(win.FullName), "IEXPLORE") > 0 Then    
      If InStr(1, win.LocationURL, "https://www.mbi-metalsource.com") <> 0 Then  
        For Each htmlInput In win.document.getElementsByTagName("INPUT")    
          If htmlInput.Value = "Download" Then    
            If InStr(1, LCase(htmlInput.onclick), "excel") <> 0 Then    
             ' Click auf Download-Button
              htmlInput.Click  
            End If  
          End If  
        Next
      End If  
    End If  
  Next
 
  Set objIE = Nothing  
End Sub

mfg Anton
Anzeige
AW: Weitere TAB in IE + Download-Button
22.03.2022 08:42:52
flo4711
Hallo Anton,
vielen Dank für dein Code-Bsp.!
Mit einer kleinen Änderung macht es genau das was ich wollte ... perfekt!
Ich muss das ganze lediglich über eine Schleife laufen lassen, da der Download ja von jeder angesteuerten Seite erfolgen soll.
@Zwenn
Auch dir vielen Dank für den verlinkten Beitrag. Den muss ich mir aber mal in Ruhe anschauen.
Gruß und nochmals allen vielen Dank für euren Support !!!
Gode
AW: Weitere TAB in IE + Download-Button
22.03.2022 09:08:42
flo4711
Hallo Anton,
da war ich doch etwas vorschnell mit der Änderung deines Ursprungs-Codes;-)
Ich habe das jetzt wieder auf "deine" Version zurückgebaut ... sonst wird der Download für alle bereits geöffneten TABs ja mit jedem Durchlauf nochmal angestossen.
Also vielen Dank nochmal!
Gode
Anzeige
AW: Weitere TAB in IE + Download-Button
21.03.2022 21:49:41
Zwenn
Hallo Flo,
wie Nepumuk Dir in Deinem anderen Thread schon geschrieben hat, ist der IE tot. Deshalb stecke ich in Deine Anfrage jetzt nicht viel Zeit rein. Aber um Dein Problem mit dem Klicken des Speichern-Buttons zu lösen, kannst Du in den folegden Thread reingucken. Lies Dir blos nicht den ganzen Quellcode des ersten Postings durch, das ist komplett überflüssig:
https://www.herber.de/forum/cgi-bin/callthread.pl?index=1702250
Viele Grüße,
Zwenn

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige