COPIER LE CHEMIN D'UN FICHIER SELECTIONNE DANS LE PRESSE PAPIER. ATTEINDRE UN FI
Cacophrene
Messages postés251Date d'inscriptionlundi 29 mars 2004StatutMembreDernière intervention 4 mars 2008
-
1 août 2005 à 15:15
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
6 août 2005 à 09:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 6 août 2005 à 09:44
suggestion "d'amélioration" :
_ 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 ].
@+
Cacophrene
Messages postés251Date d'inscriptionlundi 29 mars 2004StatutMembreDernière intervention 4 mars 20081 3 août 2005 à 07:51
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
Cacophrene
Messages postés251Date d'inscriptionlundi 29 mars 2004StatutMembreDernière intervention 4 mars 20081 1 août 2005 à 15:15
Salut à toi !
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...
6 août 2005 à 09:44
_ 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 ].
@+
3 août 2005 à 07:51
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
1 août 2005 à 15:15
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