Ce petit programme est pratique pour manipuler les chemins de fichier (c'est toujours pénible à recopier et on fait souvent des erreurs). Il sera spécialement utiles lors des développements ou pour la rédaction de notices de documentation ou d'utilisation. Il comporte deux options :
Option "Copier" : ouvre la boîte de dialogue "Fichier Ouvrir". Le chemin du fichier sélectionné est copié dans le presse papier.
Option "Atteindre" : sert lorsque le presse-papier contient un chemin de fichier. L'option ouvre Windows Explorer, déplie la hiérarchie des répertoires et sélectionne le fichier en question.
Conclusion :
Le code-source comporte une icone qui vous permet de placer un raccourci sur le bureau, dans la barre de tâches ou dans une barre d'outils Office, ce que j'ai fait car je me sert souvent de ce programme.
Le programme est court, simple, documenté et sa lecture me paraît facile (merci de me faire au besoin vos remarques à ce sujet). Les explications complémentaires ne semblent donc pas nécessaires.
_ utiliser les API SHBrowseForFolder et
SHGetPathFromIDList au lieu du composant
CommonDialog, ce qui permettrait de
mémoriser aussi les adresses des
répertoires.
_ au lancement prendre en compte
la ligne de commande et si elle est
renseignée, mémoriser directement
le chemin cité, ce qui permettrait
d'utiliser le programme dans "envoyer vers"
et dans le menu contextuel de l'explorateur
[ click droit sur un fichier/répertoire ].
@+
Deux petits points de détail :
ctl_BoîteOuvrir.CancelError = ...
ctl_BoîteOuvrir.DialogTitle = ...
ctl_BoîteOuvrir.FileName = ...
ctl_BoîteOuvrir.Filter = ...
ctl_BoîteOuvrir.Flags = ...
Tu peux noter ça :
With ctl_BoîteOuvrir
.CancelError = ...
.DialogTitle = ...
.FileName = ...
.Filter = ...
.Flags = ...
End With
Je sais c'est du détail mais bon ça peut t'éviter de fastidieux copier/coller non ?
Puis sinon tous les Me. sont inutiles. Par exemple, Me.Hide peut être remplacé par Hide tout court.
Enfin, bon, là encore, détail. Ayant désormais parcouru tout le code, je trouve ce programme pas mal. J'ai mis 6.
Cordialement,
Cacophrène
Je viens de consulter ton code. La fonction IsFile est inutile. Il suffit de la remplacer par :
Dim sChemin As String
If Dir(sChemin) = Empty Then MsgBox "Fichier introuvable !" Else MsgBox "Fichier trouvé !"
Le second argument de la fonction Dir est vbNormal, ce qui signifie que Dir renverra une chaîne de longueur nulle si le fichier est absent, caché ou système. Pour être certain qu'aucun fichier n'existe, essaie :
If Dir(sChemin) Empty Or Dir(sChemin, 2) Empty Or Dir(sChemin, 4) = Empty Then MsgBox "Pas de fichier !" etc...
Voilà !
Je n'ai pas regardé la suite.
Cordialement,
Cacophrène
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.