VBS: sélectionnez l'élément dans la dernière fenêtre active de Windows Explorer

J'utilise le code suivant pour sélectionner un fichier dans une fenêtre de l'Explorateur Windows:

Set objShellAPP = CreateObject("Shell.Application") objShellAPP.Open(WScript.Arguments(0)) WScript.Sleep(300) On Error Resume Next ' For new unsaved files. With objShellAPP.Windows(objShellAPP.Windows.Count - 1).document .SelectItem .Folder.Items.Item(WScript.Arguments(1)), 29 End With Set objShellAPP = Nothing 

objShellAPP.Open() ouvre le dossier dans la dernière fenêtre active;

objShellAPP.Windows.Count - 1 n'est pas nécessairement cette fenêtre.

Comment puis-je obtenir la dernière fenêtre active pour la ligne de With objShellAPP.Windows(---).document

Je vous remercie.


Voir:

Ouvrir et sélectionner un fichier dans une fenêtre Explorer existante

VBS: sélectionnez un fichier dans un dossier

    Dans le code suivant, la première fenêtre de l'Explorateur Windows est activée puis un dossier est ouvert (j'utilise QTTabbar ).

     Set objShellApp = CreateObject("Shell.Application") Dim winFolder For Each wFolder In objShellApp.Windows On Error Resume Next isFolder = wFolder.document.folder ' An IE window does not support ".document.folder". We get the first Windows Explorer window. If Err = 0 Then wFolder.Visible = True Set winFolder = wFolder Exit For End If Next objShellApp.Open(WScript.Arguments(0)) WScript.Sleep(300) If NOT WScript.Arguments(1) = "" Then If winFolder = Empty Then Set winFolder = objShellApp.Windows(objShellApp.Windows.Count - 1) ' A Windows Explorer window opened with objShellApp.Open(WScript.Arguments(0)) is the last one in the index (Count - 1). End If On Error Resume Next ' For new unsaved files. With winFolder.document .SelectItem .Folder.Items.Item(WScript.Arguments(1)), 29 End With End If Set winFolder = Nothing Set objShellApp = Nothing 

    En ce qui concerne une meilleure façon de distinguer entre Windows-Explorer et Internet-Explorer:

    VBS: Distinguis entre Windows-Explorer et Internet-Explorer