48558
Goto Top

IE alle Seiten schließen

Hallo,

Ich hab hier ein Script:

Aufruf(0)="www.google.de"
Aufruf(1)="www.administrator.de"

For i=1 to UBound(Aufruf)
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate Aufruf(i)
IE.Visible = true
Do While IE.Busy
WScript.Sleep 100
Loop
Wscript.Sleep 1000 * 60
IE.Quit
Next

Ich will aber, dass alle Seiten parallel geladen werden, also nicht immer 60 Sekunden gewartet werden soll.

Wisst ihr eine Lösung?

Content-Key: 86989

Url: https://administrator.de/contentid/86989

Printed on: April 19, 2024 at 15:04 o'clock

Member: AndreasHoster
AndreasHoster May 05, 2008 at 13:52:30 (UTC)
Goto Top
Dann sollte man die Seiten auch parallel laden.
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "www.google.de"
IE.Navigate "www.administrator.de",,"None"
IE.Visible = true

Der 3. Parameter ist das Targetframe und wenn das nicht existiert macht IE ein neues Fenster auf in dem die andere Seite geladen wird.
Mitglied: 48558
48558 May 05, 2008 at 13:55:17 (UTC)
Goto Top
danke!

ich bin noch nicht mit dem IE Objekt vertraut...
Mitglied: 48558
48558 May 11, 2008 at 10:02:27 (UTC)
Goto Top
hi
hab nochmal ne frage:
hab jetzt den folgenden code:
damit öffne ich versch. seiten aus einem array und warte dann 60sekunden.dann sollen alle seiten beendet werden

For i=1 to Anzahl
Set IE = CreateObject("InternetExplorer.Application")
With IE
.Width = 20
.Height = 30
.Left = 0
.Top = 0
.Resizable = 0
.ToolBar = 0
.AddressBar = 0
.StatusBar = 0
.Navigate Seite(i)
.Visible = true
End With
Next

Wscript.Sleep 1000 * 60
IE.Quit

Dabei wird abern nur eine Seite beendet - ich will aber, dass alle beendet werden ; trotzdem sollen alle Seiten gleichzeitig aufgerufen werden
Member: AndreasHoster
AndreasHoster May 13, 2008 at 07:34:18 (UTC)
Goto Top
Kleine Frage für den Lernerfolg:
Wieviele IE-Objekte erzeugst Du in Deinem Programm und wieviele beendest Du am Schluß wieder?

Du erzeugst in der Schleife für jeden Aufruf ein IE Objekt, schließt aber am Schluß nur eines, nämlich das Letzte. Da müssen ja welche übrigbleiben.
Speichere oben in der Schleife die IE-Objekte in ein Array, und gehe am Schluß dieses Array durch und beende jedes IE Objekt das da drin ist.

Also in etwa so:
DIM Seite(3)
Seite(1)="http://www.google.de"
Seite(2)="https://administrator.de"
Seite(3)="http://www.web.de"

DIM IE_Objekte(3)

For i=1 to UBound(Seite)
Set IE = CreateObject("InternetExplorer.Application")
Set IE_Objekte(i)=IE
With IE
.Width = 20
.Height = 30
.Left = 0
.Top = 0
.Resizable = 0
.ToolBar = 0
.AddressBar = 0
.StatusBar = 0
.Navigate Seite(i)
.Visible = true
End With
Next

Wscript.Sleep 1000 * 60
For i=1 to UBound(Seite)
IE_Objekte(i).Quit
Next
Mitglied: 48558
48558 May 13, 2008 at 09:59:30 (UTC)
Goto Top
ah!
danke für die hilfe, hab es jetzt aber doch anders gelöst
Mitglied: 48558
48558 Jun 12, 2008 at 20:13:25 (UTC)
Goto Top
und nochmal hab ich fragen:

1.kann man bereits geöffnete (einfach iexplore.exe) Internetseiten 'übernehmen' mit dem Objekt?

2.Kann man den Titel des IE per VBScript ändern - also "Administrator.de" Windows Internet Explorer, also dann des Administrator.de

3.Gibts so ein Objekt auch für Firefox oder gibts da was ähnlich hilfreiches?
Member: AndreasHoster
AndreasHoster Jun 16, 2008 at 13:22:53 (UTC)
Goto Top
1. Nein (oder zumindestens nicht das ich wüsste)
2. Weiss ich auch nicht, aber da die Titelleiste aus der angezeigten Webseite stammt (nämlich aus dem title Tag des HTML Codes) würde ich eher sagen nein. Aber Du kannst Dir ja mal die Doku bei MS durchlesen: http://msdn.microsoft.com/en-us/library/aa752084(VS.85).aspx#
3. Soweit ich weiß, gibt es für FireFox im Standard noch kein ActiveX Control. Allerdings schau mal auf http://www.iol.ie/~locka/mozilla/control.htm , es gibt ein Projekt um sowas zu machen, ich weiß nur nicht, wie weit die schon sind.