Fermer automatiquement fenêtre pop up de Windows Explorer
Bonjour,
j'ai besoin de votre aide concernant une touche d'ergonomie et d'esthétique qui pourrait me permettre de rendre plus rapide mon programme, je vous fixe le contexte:
Mon programme traite sur l'autorisation d'accès à des dossiers (et non fichiers avec extension etc.) pour plusieurs utilisateurs, cette autorisation est définit par l'administrateur. Ma mission est de vérifier que tous les utilisateurs ont accès à tout ce dont ils ont besoin ou si il n'y a pas une faille et ont accès à des documents confidentiels.
Ainsi dans mon programme qui est majoritairement une boucle parcourant un tableau de chemins (répertoire Windows) dans Excel, il y a le moment où j'accède aux dossiers et je n'ai pas de soucis, et le moment où Windows génère la fenêtre intitulée : "Emplacement non disponible" avec par exemple la capture d'écran attachée en pièce jointe à mon message.
J'ai déjà essayé la fonction : Application.DisplayAlerts = False et Application.DisplayAlerts = True , vu auparavant dans le forum, mais cela ne change rien
J'aimerai que la fenêtre se ferme automatiquement après exécution de mon programme parce que sinon cela me fait plus de 400 fenêtres à fermer manuellement
Concernant le code :
Fonction ouverture des fichiers (qui s'ouvre si j'y ai accès ou qui affiche la fenêtre si je n'y ai pas accès ) :
Public Function recherche_acces(Mon_dossier As String)
Application.DisplayAlerts = False
If Len(Dir(Mon_dossier, vbDirectory)) > 0 Then 'vérifie si le Dossier existe
Shell Environ("WINDIR") & "\explorer.exe " & Mon_dossier, vbNormalFocus
End If
Application.DisplayAlerts = True
End Function
Focntion qui me permet de vérifier si le dossier a bien été ouvert ou non :
Function IsFileOpen(filename As String) As Boolean
Dim filenum As Integer, Errnum As Integer
On Error Resume Next
filenum = FreeFile()
Open filename For Input Lock Read As #filenum
Close filenum
Errnum = Err
On Error GoTo 0
Select Case Errnum
Case 70
IsFileOpen = True
'MsgBox "Acces validé à :" & filename
Case Else
IsFileOpen = False
'MsgBox "Acces refusé à :" & filename
End Select
End Function
Le reste de mon code ne concerne que des boucles! J'attends votre aide au plus vite svp
(Désolé d'être aussi bavard, mais plus l'annonce est détaillée moins on perdra de temps avec des questions de compréhension !
bfranck237
Bonjour,
Pourriez-vous indiquer sur quelle ligne le message apparait ?
Quel est l'extension du fichier à ouvrir ?
Est-il possible qu'un ou plusieurs fichiers à ouvrir ne soient pas associé à un logiciel ?
edit: plutot :Quel est l'extension du fichier sur lequel écrire ou lire ?