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

openfile

4 réponses
Avatar
koalavert
bonjour,
j'ai une question pour Raymond qui semble etre de retour!
qd j'utilise openfile et extend et que le dossier que je cherche
n'existe pas ou qu'il ne contient pas de fichier =E0 ouvrir il semble
que les API renvoient le resultat de la recherche precedente. Eric
m'avait permis de contourner =E7a:
If Dir(CheminDossier , vbDirectory) =3D "" Then
MsgBox "Le dossier " & CheminDossier & " n'existe pas"
ElseIf Dir(CheminDossier & "\*.*") =3D "" Then
MsgBox "Pas de fichier dans le dossier " & CheminDossier
Else
texte =3D OpenFile(CheminDossier , Multi_S=E9lection, True,
MSOffice,
12, False)
mais y avait il un moyen direct de "remetre =E0 zero" les API apres
chaque recherhce?
merci

4 réponses

Avatar
Raymond [mvp]
Bonjour.

Si tu n'as pas modifié mon Api, ça ne doit pas faire ça car le buffer est
automatiquement vidé par:
.lpstrFile = Space(254)
ou
lpstrFile = Space((KbBufferLength * 4096) - 2)

et on passe toujours dessus à l'entrée.

même dans les versions d'origine, cette fonction était déjà indiquée.

à voir .......
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Pour les amoureux de l'Ardèche et de Joyeuse:
http://cppj.free.fr/


"koalavert" a écrit dans le message de news:

bonjour,
j'ai une question pour Raymond qui semble etre de retour!
qd j'utilise openfile et extend et que le dossier que je cherche
n'existe pas ou qu'il ne contient pas de fichier à ouvrir il semble
que les API renvoient le resultat de la recherche precedente. Eric
m'avait permis de contourner ça:
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)
mais y avait il un moyen direct de "remetre à zero" les API apres
chaque recherhce?
merci
Avatar
koalavert
j'ai ça ds l' API:
If MultiSelect = Mono_Sélection Then
.lpstrFile = Space(254)
.nMaxFile = 255
.lpstrFileTitle = Space(254)
.nMaxFileTitle = 255
.Flags = 6148
Else
.lpstrFile = Space((KbBufferLength * 4096) - 2)

ça doit etre ça, mais pourtant....j'appelle l' API comme ça:
dossier as string rem je renseigne dossier par une inputbox
Dim CheminDossier As String
CheminDossier = "E:paracliniqueCardio" & name & "-" & prename & ""
& dossier


Texte = OpenFile(CheminDossier, Multi_Sélection, True,
allfiles, 12, True)
et si il n'y pas de dossier ou si je ne clique pas sur un fichier
contenu ds dossier (soit parcequ'il n'y en a pas soit parceque je ne
veux pas l'ouvrir..) ça m'ouvre qd meme une recherche precedente...
merci
Avatar
Raymond [mvp]
si le dossier par défaut n'existe pas, l'api ne sait plus où aller et
peut-être dans ce cas, windows retourne cette valeur.
le problème, c'est qu'on ne peut pas maîtriser ce que fait windows et qu'on
ne sait pas si on se trouve dans cette condition.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Pour les amoureux de l'Ardèche et de Joyeuse:
http://cppj.free.fr/


"koalavert" a écrit dans le message de news:

j'ai ça ds l' API:
If MultiSelect = Mono_Sélection Then
.lpstrFile = Space(254)
.nMaxFile = 255
.lpstrFileTitle = Space(254)
.nMaxFileTitle = 255
.Flags = 6148
Else
.lpstrFile = Space((KbBufferLength * 4096) - 2)

ça doit etre ça, mais pourtant....j'appelle l' API comme ça:
dossier as string rem je renseigne dossier par une inputbox
Dim CheminDossier As String
CheminDossier = "E:paracliniqueCardio" & name & "-" & prename & ""
& dossier


Texte = OpenFile(CheminDossier, Multi_Sélection, True,
allfiles, 12, True)
et si il n'y pas de dossier ou si je ne clique pas sur un fichier
contenu ds dossier (soit parcequ'il n'y en a pas soit parceque je ne
veux pas l'ouvrir..) ça m'ouvre qd meme une recherche precedente...
merci
Avatar
koalavert
saleté de Wind.....je blague
merci je vais en rester au truc d'Eric qui marche parfaitement
bonne fin de journée!