Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Fermer tous les répertoires ouverts depuis mon fichier actif

KTM

XLDnaute Impliqué
Bonsoir chers tous
Je voudrais depuis mon fichier , fermer tous les répertoires ouverts sauf celui nommé "FileAct" qui contient mon fichier.
J'ai procédé comme suit mais je bute sur une erreur.
Prière corriger mon code.
Merci

VB:
Sub FermerDossiers()
Dim i As Long
With CreateObject("Shell.Application").Windows
    For i = .Count - 1 To 0 Step -1
        [B]If .Item(i).locationname <> "FileAct" Then[/B] .Item(i).Quit
    Next i
End With
End Sub
 

patricktoulon

XLDnaute Barbatruc
Bonsoir
c'est un object que j'utilise souvent pour lister les fenêtre explorer et IE
VB:
Option Compare Text
Sub FermerDossiers()
    Dim i As Long, fenetre As Object
    With CreateObject("Shell.Application")
        For Each fenetre In .Windows
            If fenetre.LocationName Like "*FilAct*" Then fenetre.Quit
        Next
    End With
End Sub
 

KTM

XLDnaute Impliqué
Merci.
Jai testé mais il se passe rien apparemment! ca fonctionne pas!
 

patricktoulon

XLDnaute Barbatruc
Bonjour @KTM
j'ai bien évidemment testé avant de te le donner et ça fonctionne très bien
conclusion:
soit tu a un soucis avec cette librairie
soit le nom ou la partie de nom n'est pas concordante
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
ou vre tes dossiers dans une ou des fenêtres
teste ceci pour voir et regarde si tes fenêtres de dossier sont bien listée
VB:
Sub test()
    Getfentre
End Sub

Public Function Getfentre(Optional url As String = "") As Object
    Dim objShell As Object, obj As Object
    Set objShell = CreateObject("shell.application")
    For Each obj In objShell.Windows
        'test de la presence de IE dans les treads
        Debug.Print "******************"
        Debug.Print "type de document   :" & TypeName(obj)
        Debug.Print "type de document   :" & TypeName(obj.document)
        Debug.Print "fenetre :" & obj.Name
        Debug.Print "titre :" & obj.locationNAME
        Debug.Print "url :" & obj.locationurl

    Next obj
End Function
 

Discussions similaires

Réponses
0
Affichages
724
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…