Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1100to1104
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

prüfen ob IE-Seite offen

prüfen ob IE-Seite offen
Werner
Hallo zusammen!
Ich brauche mal wieder eure Hilfe:
Ich will per VBA prüfen lassen, ob eine bestimmte Internetseite bereits geöffnet ist.
Wenn nicht soll sie geöffnet werden.
Wenn ja soll sich der IE mit der Seite in den Vordergrund schieben.
Gibt's da eine Möglichkeit?
Gruß und Danke Werner

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

Betreff
Benutzer
Anzeige
AW: prüfen ob IE-Seite offen
10.09.2009 15:40:05
Anton
Hallo Werner,
probier's hiermit:

Sub b()
  Dim objShell As Object  
  Dim IEApp As Object, win As Object  
  Dim adresse As String, gefunden As Boolean    
  gefunden = False
  adresse = "https://www.herber.de/forum/messages/1101712.html" 'anpassen
  Set objShell = CreateObject("Shell.Application")  
  For Each win In objShell.Windows  
    If win.Document.Location = adresse Then  
      gefunden = True
      AppActivate win.Document.Title & " - Win"
    End If  
  Next
  If gefunden = False Then  
    Set IEApp = CreateObject("InternetExplorer.Application")  
    IEApp.Visible = True
    IEApp.Navigate adresse
    Set IEApp = Nothing  
  End If  
  Set objShell = Nothing  
End Sub  

mfg Anton
Anzeige
AW: prüfen ob IE-Seite offen
11.09.2009 07:19:31
Werner
Hallo Anton!
Das klappte gestern wunderbar.
Ich kriege heute aber in der Zeile
If win.Document.Location = adresse Then
die Meldung "Laufzeitfehler 438 - Objekt unterstützt diese Eigenschaft oder Methode nicht"
Und vor 10 Minuten hieß die Meldung (gleiche Zeile): Fehler 438 - Zugriff verweigert
Weißt du was das ist?
Gruß
Werner
AW: prüfen ob IE-Seite offen
11.09.2009 07:35:20
Anton
Hallo Werner,
versuch's so:
Sub b()
Dim objShell As Object
Dim IEApp As Object, win As Object
Dim adresse As String, gefunden As Boolean
gefunden = False
adresse = "https://www.herber.de/forum/messages/1101712.html" 'anpassen
Set objShell = CreateObject("Shell.Application")
For Each win In objShell.Windows
If InStr(1, UCase(win.FullName), "IEXPLORE") > 0 Then
If win.Document.Location = adresse Then
gefunden = True
AppActivate win.Document.Title & " - Win"
End If
End If
Next
If gefunden = False Then
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = True
IEApp.Navigate adresse
Set IEApp = Nothing
End If
Set objShell = Nothing
End Sub
mfg Anton
Anzeige
AW: prüfen ob IE-Seite offen
11.09.2009 07:50:10
Werner
Guten Morgen!
Gleiche Zeile - gleiche Fehlermeldung
:-(
Gruß
Werner
AW: prüfen ob IE-Seite offen
11.09.2009 08:33:18
Werner
Hallo!
Ich denke ich habe den Fehler gefunden!
Ich hatte eine PDF-Datei im IE offen.
Ich habe die Datei jetzt zu und siehe da: Es geht. ;-)
DANKE für die Hilfe!!!
Gruß
Werner
AW: prüfen ob IE-Seite offen
11.09.2009 13:37:10
Werner
Ich habe mich zu früh gefreut!
Der Code läuft, solange kein IE offen ist.
Ansonsten kommt bei der Zeile
If win.Document.Location = adresse Then
die Meldung "Laufzeitfehler 70 - Zugriff verweigert"
Hier der gesamte Code:
Sub Strehlow_Lagerliste()
'Dim liDurchlauf As Integer
Dim WshShell As Object
Dim objShell As Object
Dim IEApp As Object, win As Object
Dim adresse As String, gefunden As Boolean
gefunden = False
adresse = "https://secure.strehlow.info" 'anpassen
Set objShell = CreateObject("Shell.Application")
For Each win In objShell.Windows
If win.Document.Location = adresse Then
gefunden = True
AppActivate win.Document.Title & " - Win"
End If
Next
If gefunden = False Then
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = True
IEApp.Navigate adresse
Set IEApp = Nothing
Set WshShell = CreateObject("WScript.Shell")
Application.Wait TimeSerial(Hour(Now()), _
Minute(Now()), Second(Now()) + 3)
'WshShell.SendKeys "j"
'    Application.Wait TimeSerial(Hour(Now()), _
Minute(Now()), Second(Now()) + 1)
'WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys Range("L1")
WshShell.SendKeys "{TAB}"
WshShell.SendKeys Range("N1")
WshShell.SendKeys "{ENTER}"
Application.Wait TimeSerial(Hour(Now()), _
Minute(Now()), Second(Now()) + 1)
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{ENTER}"
Application.Wait TimeSerial(Hour(Now()), _
Minute(Now()), Second(Now()) + 1)
WshShell.SendKeys "^(f)"
End If
Set objShell = Nothing
End Sub

Gruß und Danke!
Werner
Anzeige
AW: prüfen ob IE-Seite offen
11.09.2009 16:11:53
Anton
Hallo Werner,
noch eine Variante:

Sub Strehlow_Lagerliste()
  Dim objShell As Object, IEDoc As Object    
  Dim IEApp As Object, win As Object  
  Dim adresse As String  
  adresse = "https://secure.strehlow.info/login/login_form" 'anpassen
  Set objShell = CreateObject("Shell.Application")  
  For Each win In objShell.Windows  
    If InStr(1, LCase(win.Document.Title), "strehlow") > 0 Then    
     'IE schließen
      win.Quit
    End If  
  Next
  Set IEApp = CreateObject("InternetExplorer.Application")  
  IEApp.Visible = True
  IEApp.Navigate adresse
  Do: Loop Until IEApp.Busy = False    
  Do: Loop Until IEApp.Busy = False    
  Set IEDoc = IEApp.Document  
  Do: Loop Until IEDoc.ReadyState = "complete"    
  IEDoc.all("__ac_name").Value = "Benutzername"  'anpassen
  IEDoc.all("__ac_password").Value = "Kennwort"  'anpassen
  IEDoc.all("submit").Click
  Do: Loop Until IEDoc.ReadyState = "complete"    
  IEApp.ExecWB 32, 0
  Set IEApp = Nothing  
  Set objShell = Nothing  
End Sub  

mfg Anton
Anzeige
AW: prüfen ob IE-Seite offen
15.09.2009 07:02:51
Werner
Hallo Anton!
Das funktioniert deutlich besser.
Ich danke dir für deine Hilfe und deine Mühe!!!
Gruß
Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige