2016-12-13 4 views
0

Ich habe ein Skript, wo ich ein IE-Fenster durch CreateObject("InternetExplorer.Application") erstellen. Das Problem ist, dass, immer wenn ich dieses Skript ausführe, es sich immer hinter allem öffnet, was auf meinem Computer bereits geöffnet ist. Ich möchte, dass dieses IE-Fenster sich von allem anderen öffnet. Es muss nicht "immer oben" sein, wie die Option im Task-Manager, aber es sollte zumindest oben zuerst geöffnet werden. Danach ist es mir egal, was passiert. Ich habe hoch und niedrig gesucht und konnte keinen Weg finden, dies zu erreichen. Ich habe versucht appactivate und , aber keiner von denen scheint zu arbeiten. Irgendwelche Vorschläge?VBScript - Bring Internet Explorer Applications Fenster nach vorne

Ich bin windows 7 mit IE läuft 11

+0

Wenn ein Programm gestartet wird, hat es zwei Sekunden, um das Vordergrundfenster zu setzen. –

+1

Können Sie bitte https://stackoverflow.com/help/mcve posten? – Robert

+0

Was verwenden Sie nach 'AppActivate'? Wenn Sie "Internet Explorer" oder das Äquivalent verwenden, könnte das Ihr Problem sein. Normalerweise muss ich den Titel (wie den Wert aus "IE.Document.Title") hinter "AppActivate" setzen. –

Antwort

4

Sie wahrscheinlich das Problem haben, weil der Titel des IE-Fenster nicht gerade der Titel der Seite (dh „Yahoo - Internet Explorer“.) Daher müssen Sie bringen sie nach vorne, bevor Sie auf der Seite, die Navigation starten:

Set ie = CreateObject("InternetExplorer.Application") 
ie.Visible = True 
CreateObject("WScript.Shell").AppActivate "Internet Explorer" 
ie.Navigate "http://www.yahoo.com/" 
+0

Komisch, ich dachte, ich habe das ziemlich genau versucht, aber vorher hat es nicht funktioniert. Ich glaube nicht, dass ich CreateObject ("WScript.Shell") mit appactivate verwendet habe, also könnte es so gewesen sein. Es war entweder das oder @Noodles Kommentar über die Zeitbeschränkung beim Festlegen eines Vordergrundfensters. Ich habe da drin geschlafen, das könnte Dinge vermasselt haben. Vielen Dank! – margentieri

+0

IE muss nicht das Vordergrundfenster sein, das vom Skript gesteuert werden soll. Es wird fröhlich unsichtbar arbeiten. –

+0

@Noodles, ja, ich bin mir dessen bewusst, aber der ganze Punkt des IE-Fensters für meine Anwendung besteht darin, eine Benutzerschnittstelle zu erstellen, um variable Eingaben zu sammeln, um sie an eine andere Anwendung weiterzugeben. Ich wollte nicht, dass der Benutzer meines Skripts versucht, das IE-Fenster zu finden, in dem meine GUI erstellt wurde. Ich wollte, dass diese GUI sofort bei der Ausführung meines Skripts angezeigt wird. Nochmals vielen Dank für die Einsicht in die zeitlichen Einschränkungen beim Setzen von Vordergrundfenstern! – margentieri

0

ich messed um mit einem Bündel von Lösungen im Internet, aber schließlich fand die einfachste, die funktionierten.

Set objExplorer = CreateObject ("InternetExplorer.Application") 
objExplorer.document.focus() 
+0

Dies führt zu einem Fehler: Kompilierfehler: Syntaxfehler – Dave

+0

Nicht für mich Dave. Welchen Compiler benutzen Sie? Ich benutze WScript. – ShooterMcGavin