Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Url automatisch im Browser aus Excel aufrufen
#1
Hallo!

Ich hoffe es geht euch allen gut.

Ich habe eine Liste/Spalte mit (vielen) URL`s.

https://domain.com/ersteurl
https://domain.com/zweiteurl
https://domain.com/dritteurl
usw.

Gibt es ein Script/Makro was die Liste/Spalte durchgeht und jede URL automatisch im Browser aufruft und mit kurzer Pause (z.B. 5 Sek.wenn möglich das Browserfenster wieder schließt?

Also Url 1 öffnen, kurz warten, Url 1 schließen, url 2 öffnen usw.

Danke
Antworten Top
#2
Hallöchen,

nutze mal unsere Suche nach followhyperlink, da findest Du schon den einen oder anderen Ansatz.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Hallo Michael, 19

nachfolgend mal zwei Ansätze (CreateObject und ShellExecute): 21

Code:
Option Explicit
Private Declare PtrSafe Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Public Sub Main_1()
    Dim objIEApp As Object
    Dim lngTMP As Long
    On Error GoTo Fin
    Set objIEApp = CreateObject("InternetExplorer.Application")
    With ThisWorkbook.Worksheets("Tabelle1")
        ' In Tabelle1 - Spalte A - ab Zeile 1 bis Ende
        For lngTMP = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
            objIEApp.Navigate .Cells(lngTMP, 1).Value
            Do: Loop Until objIEApp.Busy = False
            objIEApp.Visible = True
            Call Sleep(10000) '10 Sekunden
        Next lngTMP
    End With
    Shell "wmic Process where ""name like '%iexplo%'"" call terminate", vbHide
Fin:
    Set objIEApp = Nothing
    If Err.Number <> 0 Then MsgBox "Error: " & Err.Number & " " & Err.Description
End Sub

Dann habe ich es mal mit dem Edge auf diese Weise probiert: 21

Code:
Option Explicit
Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
    (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
    ByVal lpParameters As String, ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As Long
Private Declare PtrSafe Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Private Const SW_MAXIMIZE = 3&
Public Sub Main_2()
    On Error GoTo Fin
    Dim lngTMP As Long
    With ThisWorkbook.Worksheets("Tabelle1")
        ' In Tabelle1 - Spalte A - ab Zeile 1 bis Ende
        For lngTMP = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
            ShellExecute 0, "open", .Cells(lngTMP, 1).Value, vbNullString, vbNullString, SW_MAXIMIZE
            Call Sleep(10000) '10 Sekunden
        Next lngTMP
    End With
    Shell "wmic Process where ""name like '%edg%'"" call terminate", vbHide
Fin:
    If Err.Number <> 0 Then MsgBox "Error: " & Err.Number & " " & Err.Description
End Sub

Gilt für Tabelle1 - Spalte A - ab Zeile 1 bis Ende.

Mach was draus. Dodgy
________
Servus
Case
Antworten Top
#4
Hi Case!

Vielen Dank für die beiden Vorschläge.

Gerne würde ich was draus machen, aber weiß leider nicht wie.

Ich habe die Codes in Dateien eingefügt und als Makro gespeichert, aber wenn ich den Code starte passiert nix.

Wie und wo müsste ich den Code jeweils einfügen damit es geht?

Funktioniert der eine Code auch im Chrome?

Könntest Du mir die Codes bitte jeweils in einer Exceldatei integriert schicken?

Vielen Dank

Michael
Antworten Top
#5
Hallo, 19

jetzt mach aber was draus (3 Beispiele - CreateObject, ShellExecute, FollowHyperlink): 21

.xlsb   Internetexplorer_ShellExecute_FollowHyperlink_mehrere_Seiten_aufrufen_dann_schliessen.xlsb (Größe: 19,49 KB / Downloads: 4)
________
Servus
Case
Antworten Top
#6
Hallo Case!

Vielen Dank!

Varianten/Buttons 2 &3 fuer Chrome funktionieren (im kurzen Test) einwandfrei.

Variante 1 bleibt bei der dritten Zeile immer hängen.

Wenn man es mehrfach versucht kommen zwei verschiedene Fehlermeldungen, mal die eine, mal die andere.

Bei deinen 5 Test URL`s kommt die Fehlermeldung: Error 462: The remote server machine does not exist or is unavailable.

Wenn man die URL`s anders sortiert oder eine URL fünfmal probiert kommt die Fehlermeldung Error 2147467259 Method busy of object WebBrowser2 failed.

Die erste Variante würde mir am besten gefallen, weil die Browserfenster automatisch geschlossen werden.

Ginge das auch bei den Varianten 1 &2 für Chrome?

Michael
Antworten Top
#7
Hallo, 19

ich bekomme keine Fehlermeldung. 21

Wenn du den Chrome terminieren willst, dann die Codezeile so ändern: Dodgy

Code:
Shell "wmic Process where ""name like '%chrom%'"" call terminate", vbHide
________
Servus
Case
Antworten Top
#8
Hi!

Danke.

Habe Variante 2 & 3 wie genannt angepasst und der Browser öffnet auch alle, schließt aber nix. Nur wenn ich einen Tab manuell schließe, schließt der Browser alle Fenster, auch die nicht von Deinem Tool geöffneten.

Michael
Antworten Top
#9
Hallo,  19

wenn das Schließen überhaupt nicht funktioniert - ist der PC im beruflichen Umfeld? Dort ist WMI bzw. WMIC häufig gesperrt. 21

Schau auch mal im Taskmanager, dass durch lauter probieren nicht viele Browser noch offen sind.

Wenn du im VBA-Editor diese Zeile im Direktfenster eingibst/reinkopierst UND Return drückst, dann wird der Browser gekillt:

Code:
Shell "wmic Process where ""name like '%chrom%'"" call terminate", vbHide

Natürlich ""name like '%chrom%'"" anpassen in ""name like '%edg%'"" bzw. ""name like '%iexplo%'"" - je nachdem, welcher Browser offen ist. Dodgy

Es können auch Browsereinstellungen reinfunken, oder eine lahme Internetverbindung. Sonst habe ich auch keine Idee mehr.
________
Servus
Case
Antworten Top
#10
Hi Case!

Habe noch mal ein wenig rumprobiert, aber am Ende leider ohne Erfolg.

Notebook ist übrigens privat, also ich denke dann ohne WMI oder WMIC. Wo kann man das denn nachsehen oder entblocken falls notwendig?

Danke

Michael
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste