Registriert seit: 05.03.2021
Version(en): 2007/2013
Hallo!
Ich hoffe es geht euch allen gut.
Ich habe eine Liste/Spalte mit (vielen) URL`s.
https://domain.com/ersteurlhttps://domain.com/zweiteurlhttps://domain.com/dritteurlusw.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
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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)
00202
Nicht registrierter Gast
Hallo Michael,

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

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:

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.
Registriert seit: 05.03.2021
Version(en): 2007/2013
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
00202
Nicht registrierter Gast
Hallo,

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

[attachment=38413]
Registriert seit: 05.03.2021
Version(en): 2007/2013
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
00202
Nicht registrierter Gast
Hallo,

ich bekomme keine Fehlermeldung.

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

Code:
Shell "wmic Process where ""name like '%chrom%'"" call terminate", vbHide
Registriert seit: 05.03.2021
Version(en): 2007/2013
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
00202
Nicht registrierter Gast
Hallo,

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

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.
Es können auch Browsereinstellungen reinfunken, oder eine lahme Internetverbindung. Sonst habe ich auch keine Idee mehr.
Registriert seit: 05.03.2021
Version(en): 2007/2013
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