Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

openfile le retour

5 réponses
Avatar
koalavert
hello,
j'ai un pb avec openfile et open extend: qd je fais une recherche de
dossier et que ce dossier n'existe pas ou qu'il ne contient pas de
fichier =E0 ouvrir =E7a m'ouvre le dossier ou le fichier cherch=E9
precedemment, Eric avait trouv=E9 pour contourner en cas d'absence du
dossier:
Dim CheminDossier as string
CheminDossier =3D"E:\paraclinique\Cardio\" & name & Left(prename, 1) &
"\"
& dossier
if dir(CheminDossier, vbDirectory)=3D"" then
CheminDossier =3D"E:\paraclinique\Cardio\" ' =E0 adapter
end if
texte =3D OpenFile(CheminDossier, Multi_S=E9lection, allfiles) rem j'ai
remplac=E9 Me.texte par une variable string pour ne pas avoir un champ
rempli avec le chemin)

j'ai essay=E9 d'adapter pour le cas ou le dossier ne contient pas de
fichier =E0 ouvrir mais =E9chec....j'ai fait
if dirCheminDossier 2=3D"E:\paraclinique\Cardio\" & name & Left(prename,
1) & "\"
& dossier & "\" & "*.*" <> "" en pensant que =E7a testerait la
presence de fichiers ds le derniers dossier...
eric si tu m'ecoutes..

5 réponses

Avatar
Eric
Bonjour,

Tu peux faire:
Dim CheminDossier as string
CheminDossier ="E:paracliniqueCardio" & name & Left(prename, 1) & ""
& dossier
If Dir(CheminDossier , vbDirectory) = "" Then
MsgBox "Le dossier " & CheminDossier & " n'existe pas"
ElseIf Dir(CheminDossier & "*.*") = "" Then
MsgBox "Pas de fichier dans le dossier " & CheminDossier
Else
texte = OpenFile(CheminDossier , Multi_Sélection, True, MSOffice,
12, False)
MsgBox "il y a " & nOpenFile & " fichiers sélectionnés"
End If

hello,
j'ai un pb avec openfile et open extend: qd je fais une recherche de
dossier et que ce dossier n'existe pas ou qu'il ne contient pas de
fichier à ouvrir ça m'ouvre le dossier ou le fichier cherché
precedemment, Eric avait trouvé pour contourner en cas d'absence du
dossier:
Dim CheminDossier as string
CheminDossier ="E:paracliniqueCardio" & name & Left(prename, 1) &
""
& dossier
if dir(CheminDossier, vbDirectory)="" then
CheminDossier ="E:paracliniqueCardio" ' à adapter
end if
texte = OpenFile(CheminDossier, Multi_Sélection, allfiles) rem j'ai
remplacé Me.texte par une variable string pour ne pas avoir un champ
rempli avec le chemin)

j'ai essayé d'adapter pour le cas ou le dossier ne contient pas de
fichier à ouvrir mais échec....j'ai fait
if dirCheminDossier 2="E:paracliniqueCardio" & name & Left(prename,
1) & ""
& dossier & "" & "*.*" <> "" en pensant que ça testerait la
presence de fichiers ds le derniers dossier...
eric si tu m'ecoutes..



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
koalavert
ah! je croyais que vs etiez ts en vacances!
du coup j'avais trouvé ça qui à l'air de fonctionner:
Dim CheminDossier As String
CheminDossier = "d:paracliniquesCardio" & name & Left(prename, 1) &
"" & dossier

If Dir(CheminDossier, vbDirectory) <> "" Then
Texte = OpenFile(CheminDossier, Multi_Sélection, True,
allfiles, 12, True)
If Texte <> "" Then
Dim Réponse As Variant
Réponse = OpenFileExtend(Texte, Maximized, OpExecute)
Else: MsgBox "pas de courrier"

End If

Else: MsgBox "pas de dossier"
End If

je vais voir si ça se confirme sinon j'essaierai ton code. ceci dit tt
ça n'est qu'une façon de contourner le pb d'une "remise à zero"
d'openfile et extend, je me demande si c'est faisable et par qui,
Raymond?
merci encore pour ton aide dès 08h12 ! l'avenir appartient à ceux qui
se levent tot!!!
a+
Avatar
Eric
re,

je suis pas spécialiste des APIs mais :
L'API Openfile ouvre une boite de dialogue permettant à l'utilisateur de
sélectionner un ou plusieurs fichiers. Elle conserve par défaut le
dernier répertoire manipulé existant.
L'API OpenFileExtend permet d'ouvrir le(s) fichier(s) sélectionné(s) dès
lors que son extension est référencée sous Windows sans avoir à
rechercher l'applicatif qui l'a créé.

Je ne peux t'en dire plus et te proposer autre solution que celle déjà
donnée si ce n'est que dans le Else tu lances ta commande OpenFileExtend
au lieu de la MsgBox.



ah! je croyais que vs etiez ts en vacances!
du coup j'avais trouvé ça qui à l'air de fonctionner:
Dim CheminDossier As String
CheminDossier = "d:paracliniquesCardio" & name & Left(prename, 1) &
"" & dossier

If Dir(CheminDossier, vbDirectory) <> "" Then
Texte = OpenFile(CheminDossier, Multi_Sélection, True,
allfiles, 12, True)
If Texte <> "" Then
Dim Réponse As Variant
Réponse = OpenFileExtend(Texte, Maximized, OpExecute)
Else: MsgBox "pas de courrier"

End If

Else: MsgBox "pas de dossier"
End If

je vais voir si ça se confirme sinon j'essaierai ton code. ceci dit tt
ça n'est qu'une façon de contourner le pb d'une "remise à zero"
d'openfile et extend, je me demande si c'est faisable et par qui,
Raymond?
merci encore pour ton aide dès 08h12 ! l'avenir appartient à ceux qui
se levent tot!!!
a+



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Eric
.../...
re,
Je ne peux t'en dire plus et te proposer autre solution que celle déjà
donnée si ce n'est que dans le Else tu lances ta commande OpenFileExtend
au lieu de la MsgBox.


sous réserve que Texte contienne une valeur différente de 0, valeur
retournée par l'API OpenFile si tu as cliqué sur le bouton Annuler de la
boite de dialogue.

--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
koalavert
pas de soucis, tes solutions me donnent satisfaction, mais peut etre
qu'une petite ligne de code directement ds l' API eviterait des if
then else imbriqués. j'ai refait un message en esperant que Raymond
soit ds le secteur, serait pas en vacances le bougre?
amitiés