Bonjour,
Je veins de récupérer de l'assiatnce à faire sur une application de
gestion des membres d'une association. Cette application utilise
GetOpenFileName pour sélectionner des fichiers à joindre à un mail
aux membres.
Tout fonctionnait parfaitement sur l'ancien PC, sous Win 98SE. Avec le
nouveau PC, sous XP, la boîte de dialogue ne s'ouvre plus.
J'ai trouvé que MS avait ajouté trois éléments à la structure
OPENFILENAME (pvReserved As Long dwReserved As Long FlagsEx As Long)
depuis Windows 2000.
Je les ai donc ajouté mais cela ne change rien. La Boîte ne s'ouvre
pas et je n'ai aucun message d'erreur. En "debug", l'appel à
GetOpenFileName semble renvoyer la valeur "faux" puisque le "If"
chargé de traiter ce que l'on ramène ne s'exécute pas.
Y a t il autre chose de changer sous XP (SP2 a priori). Quelqu'un m'a
dit avoir lu quelque part que l'appel à cette API plantait après le
passage au SP2.
Je suis preneur de toute suggestion.
Merci d'avance
Jeff
Bonjour,
Je veins de récupérer de l'assiatnce à faire sur une application de
gestion des membres d'une association. Cette application utilise
GetOpenFileName pour sélectionner des fichiers à joindre à un mail
aux membres.
Tout fonctionnait parfaitement sur l'ancien PC, sous Win 98SE. Avec le
nouveau PC, sous XP, la boîte de dialogue ne s'ouvre plus.
J'ai trouvé que MS avait ajouté trois éléments à la structure
OPENFILENAME (pvReserved As Long dwReserved As Long FlagsEx As Long)
depuis Windows 2000.
Je les ai donc ajouté mais cela ne change rien. La Boîte ne s'ouvre
pas et je n'ai aucun message d'erreur. En "debug", l'appel à
GetOpenFileName semble renvoyer la valeur "faux" puisque le "If"
chargé de traiter ce que l'on ramène ne s'exécute pas.
Y a t il autre chose de changer sous XP (SP2 a priori). Quelqu'un m'a
dit avoir lu quelque part que l'appel à cette API plantait après le
passage au SP2.
Je suis preneur de toute suggestion.
Merci d'avance
Jeff
Bonjour,
Je veins de récupérer de l'assiatnce à faire sur une application de
gestion des membres d'une association. Cette application utilise
GetOpenFileName pour sélectionner des fichiers à joindre à un mail
aux membres.
Tout fonctionnait parfaitement sur l'ancien PC, sous Win 98SE. Avec le
nouveau PC, sous XP, la boîte de dialogue ne s'ouvre plus.
J'ai trouvé que MS avait ajouté trois éléments à la structure
OPENFILENAME (pvReserved As Long dwReserved As Long FlagsEx As Long)
depuis Windows 2000.
Je les ai donc ajouté mais cela ne change rien. La Boîte ne s'ouvre
pas et je n'ai aucun message d'erreur. En "debug", l'appel à
GetOpenFileName semble renvoyer la valeur "faux" puisque le "If"
chargé de traiter ce que l'on ramène ne s'exécute pas.
Y a t il autre chose de changer sous XP (SP2 a priori). Quelqu'un m'a
dit avoir lu quelque part que l'appel à cette API plantait après le
passage au SP2.
Je suis preneur de toute suggestion.
Merci d'avance
Jeff
Hello,
Si l'API GetOpenFileName renvoie 0 (et donc un if non exécuté), tu peux
obtenir des informations supplémentaires sur l'erreur en appelant
CommDlgExtendedError:
Private Declare Function CommDlgExtendedError _
Lib "Comdlg32" _
( _
) _
As Long
Les codes d'erreur correspondant à cette fonction sont indiqués sur cette
page:
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/commondialogboxreference/commondialogboxfunctions/getopenfilename.asp
et la description de ces valeurs est donnée ici:
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/commondialogboxreference/commondialogboxfunctions/commdlgextendederror.asp
Les constantes correspondantes sont les suivantes (traduction automatique à
partir de CdErr.h, non testée):
Private Const CDERR_DIALOGFAILURE = &HFFFF
Private Const CDERR_GENERALCODES = &H0
Private Const CDERR_STRUCTSIZE = &H1
Private Const CDERR_INITIALIZATION = &H2
Private Const CDERR_NOTEMPLATE = &H3
Private Const CDERR_NOHINSTANCE = &H4
Private Const CDERR_LOADSTRFAILURE = &H5
Private Const CDERR_FINDRESFAILURE = &H6
Private Const CDERR_LOADRESFAILURE = &H7
Private Const CDERR_LOCKRESFAILURE = &H8
Private Const CDERR_MEMALLOCFAILURE = &H9
Private Const CDERR_MEMLOCKFAILURE = &HA
Private Const CDERR_NOHOOK = &HB
Private Const CDERR_REGISTERMSGFAIL = &HC
Private Const PDERR_PRINTERCODES = &H1000
Private Const PDERR_SETUPFAILURE = &H1001
Private Const PDERR_PARSEFAILURE = &H1002
Private Const PDERR_RETDEFFAILURE = &H1003
Private Const PDERR_LOADDRVFAILURE = &H1004
Private Const PDERR_GETDEVMODEFAIL = &H1005
Private Const PDERR_INITFAILURE = &H1006
Private Const PDERR_NODEVICES = &H1007
Private Const PDERR_NODEFAULTPRN = &H1008
Private Const PDERR_DNDMMISMATCH = &H1009
Private Const PDERR_CREATEICFAILURE = &H100A
Private Const PDERR_PRINTERNOTFOUND = &H100B
Private Const PDERR_DEFAULTDIFFERENT = &H100C
Private Const CFERR_CHOOSEFONTCODES = &H2000
Private Const CFERR_NOFONTS = &H2001
Private Const CFERR_MAXLESSTHANMIN = &H2002
Private Const FNERR_FILENAMECODES = &H3000
Private Const FNERR_SUBCLASSFAILURE = &H3001
Private Const FNERR_INVALIDFILENAME = &H3002
Private Const FNERR_BUFFERTOOSMALL = &H3003
Private Const FRERR_FINDREPLACECODES = &H4000
Private Const FRERR_BUFFERLENGTHZERO = &H4001
Private Const CCERR_CHOOSECOLORCODES = &H5000
--
François Picalausa
"Jeff" a écrit dans le message de
news:
> Bonjour,
>
> Je veins de récupérer de l'assiatnce à faire sur une application de
> gestion des membres d'une association. Cette application utilise
> GetOpenFileName pour sélectionner des fichiers à joindre à un mail
> aux membres.
>
> Tout fonctionnait parfaitement sur l'ancien PC, sous Win 98SE. Avec le
> nouveau PC, sous XP, la boîte de dialogue ne s'ouvre plus.
>
> J'ai trouvé que MS avait ajouté trois éléments à la structure
> OPENFILENAME (pvReserved As Long dwReserved As Long FlagsEx As Long)
> depuis Windows 2000.
>
> Je les ai donc ajouté mais cela ne change rien. La Boîte ne s'ouvre
> pas et je n'ai aucun message d'erreur. En "debug", l'appel à
> GetOpenFileName semble renvoyer la valeur "faux" puisque le "If"
> chargé de traiter ce que l'on ramène ne s'exécute pas.
>
> Y a t il autre chose de changer sous XP (SP2 a priori). Quelqu'un m'a
> dit avoir lu quelque part que l'appel à cette API plantait après le
> passage au SP2.
>
> Je suis preneur de toute suggestion.
>
> Merci d'avance
>
> Jeff
Hello,
Si l'API GetOpenFileName renvoie 0 (et donc un if non exécuté), tu peux
obtenir des informations supplémentaires sur l'erreur en appelant
CommDlgExtendedError:
Private Declare Function CommDlgExtendedError _
Lib "Comdlg32" _
( _
) _
As Long
Les codes d'erreur correspondant à cette fonction sont indiqués sur cette
page:
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/commondialogboxreference/commondialogboxfunctions/getopenfilename.asp
et la description de ces valeurs est donnée ici:
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/commondialogboxreference/commondialogboxfunctions/commdlgextendederror.asp
Les constantes correspondantes sont les suivantes (traduction automatique à
partir de CdErr.h, non testée):
Private Const CDERR_DIALOGFAILURE = &HFFFF
Private Const CDERR_GENERALCODES = &H0
Private Const CDERR_STRUCTSIZE = &H1
Private Const CDERR_INITIALIZATION = &H2
Private Const CDERR_NOTEMPLATE = &H3
Private Const CDERR_NOHINSTANCE = &H4
Private Const CDERR_LOADSTRFAILURE = &H5
Private Const CDERR_FINDRESFAILURE = &H6
Private Const CDERR_LOADRESFAILURE = &H7
Private Const CDERR_LOCKRESFAILURE = &H8
Private Const CDERR_MEMALLOCFAILURE = &H9
Private Const CDERR_MEMLOCKFAILURE = &HA
Private Const CDERR_NOHOOK = &HB
Private Const CDERR_REGISTERMSGFAIL = &HC
Private Const PDERR_PRINTERCODES = &H1000
Private Const PDERR_SETUPFAILURE = &H1001
Private Const PDERR_PARSEFAILURE = &H1002
Private Const PDERR_RETDEFFAILURE = &H1003
Private Const PDERR_LOADDRVFAILURE = &H1004
Private Const PDERR_GETDEVMODEFAIL = &H1005
Private Const PDERR_INITFAILURE = &H1006
Private Const PDERR_NODEVICES = &H1007
Private Const PDERR_NODEFAULTPRN = &H1008
Private Const PDERR_DNDMMISMATCH = &H1009
Private Const PDERR_CREATEICFAILURE = &H100A
Private Const PDERR_PRINTERNOTFOUND = &H100B
Private Const PDERR_DEFAULTDIFFERENT = &H100C
Private Const CFERR_CHOOSEFONTCODES = &H2000
Private Const CFERR_NOFONTS = &H2001
Private Const CFERR_MAXLESSTHANMIN = &H2002
Private Const FNERR_FILENAMECODES = &H3000
Private Const FNERR_SUBCLASSFAILURE = &H3001
Private Const FNERR_INVALIDFILENAME = &H3002
Private Const FNERR_BUFFERTOOSMALL = &H3003
Private Const FRERR_FINDREPLACECODES = &H4000
Private Const FRERR_BUFFERLENGTHZERO = &H4001
Private Const CCERR_CHOOSECOLORCODES = &H5000
--
François Picalausa
"Jeff" <Jeff@discussions.microsoft.com> a écrit dans le message de
news: 03F9FA82-1700-4D55-B0F2-088F41B1AEA8@microsoft.com
> Bonjour,
>
> Je veins de récupérer de l'assiatnce à faire sur une application de
> gestion des membres d'une association. Cette application utilise
> GetOpenFileName pour sélectionner des fichiers à joindre à un mail
> aux membres.
>
> Tout fonctionnait parfaitement sur l'ancien PC, sous Win 98SE. Avec le
> nouveau PC, sous XP, la boîte de dialogue ne s'ouvre plus.
>
> J'ai trouvé que MS avait ajouté trois éléments à la structure
> OPENFILENAME (pvReserved As Long dwReserved As Long FlagsEx As Long)
> depuis Windows 2000.
>
> Je les ai donc ajouté mais cela ne change rien. La Boîte ne s'ouvre
> pas et je n'ai aucun message d'erreur. En "debug", l'appel à
> GetOpenFileName semble renvoyer la valeur "faux" puisque le "If"
> chargé de traiter ce que l'on ramène ne s'exécute pas.
>
> Y a t il autre chose de changer sous XP (SP2 a priori). Quelqu'un m'a
> dit avoir lu quelque part que l'appel à cette API plantait après le
> passage au SP2.
>
> Je suis preneur de toute suggestion.
>
> Merci d'avance
>
> Jeff
Hello,
Si l'API GetOpenFileName renvoie 0 (et donc un if non exécuté), tu peux
obtenir des informations supplémentaires sur l'erreur en appelant
CommDlgExtendedError:
Private Declare Function CommDlgExtendedError _
Lib "Comdlg32" _
( _
) _
As Long
Les codes d'erreur correspondant à cette fonction sont indiqués sur cette
page:
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/commondialogboxreference/commondialogboxfunctions/getopenfilename.asp
et la description de ces valeurs est donnée ici:
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/commondialogboxreference/commondialogboxfunctions/commdlgextendederror.asp
Les constantes correspondantes sont les suivantes (traduction automatique à
partir de CdErr.h, non testée):
Private Const CDERR_DIALOGFAILURE = &HFFFF
Private Const CDERR_GENERALCODES = &H0
Private Const CDERR_STRUCTSIZE = &H1
Private Const CDERR_INITIALIZATION = &H2
Private Const CDERR_NOTEMPLATE = &H3
Private Const CDERR_NOHINSTANCE = &H4
Private Const CDERR_LOADSTRFAILURE = &H5
Private Const CDERR_FINDRESFAILURE = &H6
Private Const CDERR_LOADRESFAILURE = &H7
Private Const CDERR_LOCKRESFAILURE = &H8
Private Const CDERR_MEMALLOCFAILURE = &H9
Private Const CDERR_MEMLOCKFAILURE = &HA
Private Const CDERR_NOHOOK = &HB
Private Const CDERR_REGISTERMSGFAIL = &HC
Private Const PDERR_PRINTERCODES = &H1000
Private Const PDERR_SETUPFAILURE = &H1001
Private Const PDERR_PARSEFAILURE = &H1002
Private Const PDERR_RETDEFFAILURE = &H1003
Private Const PDERR_LOADDRVFAILURE = &H1004
Private Const PDERR_GETDEVMODEFAIL = &H1005
Private Const PDERR_INITFAILURE = &H1006
Private Const PDERR_NODEVICES = &H1007
Private Const PDERR_NODEFAULTPRN = &H1008
Private Const PDERR_DNDMMISMATCH = &H1009
Private Const PDERR_CREATEICFAILURE = &H100A
Private Const PDERR_PRINTERNOTFOUND = &H100B
Private Const PDERR_DEFAULTDIFFERENT = &H100C
Private Const CFERR_CHOOSEFONTCODES = &H2000
Private Const CFERR_NOFONTS = &H2001
Private Const CFERR_MAXLESSTHANMIN = &H2002
Private Const FNERR_FILENAMECODES = &H3000
Private Const FNERR_SUBCLASSFAILURE = &H3001
Private Const FNERR_INVALIDFILENAME = &H3002
Private Const FNERR_BUFFERTOOSMALL = &H3003
Private Const FRERR_FINDREPLACECODES = &H4000
Private Const FRERR_BUFFERLENGTHZERO = &H4001
Private Const CCERR_CHOOSECOLORCODES = &H5000
--
François Picalausa
"Jeff" a écrit dans le message de
news:
> Bonjour,
>
> Je veins de récupérer de l'assiatnce à faire sur une application de
> gestion des membres d'une association. Cette application utilise
> GetOpenFileName pour sélectionner des fichiers à joindre à un mail
> aux membres.
>
> Tout fonctionnait parfaitement sur l'ancien PC, sous Win 98SE. Avec le
> nouveau PC, sous XP, la boîte de dialogue ne s'ouvre plus.
>
> J'ai trouvé que MS avait ajouté trois éléments à la structure
> OPENFILENAME (pvReserved As Long dwReserved As Long FlagsEx As Long)
> depuis Windows 2000.
>
> Je les ai donc ajouté mais cela ne change rien. La Boîte ne s'ouvre
> pas et je n'ai aucun message d'erreur. En "debug", l'appel à
> GetOpenFileName semble renvoyer la valeur "faux" puisque le "If"
> chargé de traiter ce que l'on ramène ne s'exécute pas.
>
> Y a t il autre chose de changer sous XP (SP2 a priori). Quelqu'un m'a
> dit avoir lu quelque part que l'appel à cette API plantait après le
> passage au SP2.
>
> Je suis preneur de toute suggestion.
>
> Merci d'avance
>
> Jeff
J'obtiens un CDERR_INITIALIZATION en retour (The common dialog box
function failed during initialization. This error often occurs when
sufficient memory is not available).
Une idée sur ce qui peut créer cette erreur ? Je doute un peu qu'avec
512 Mo et juste cette application de lancée il manque de la mémoire.
Je suis d'autant plus sceptique sur cette piste suggéré parMS qu'il
n'y a aucun problème sous Win 98SE avec 128 Mo et d'autres
applications en route.
"François Picalausa" a écrit :Si l'API GetOpenFileName renvoie 0 (et donc un if non exécuté), tu
peux obtenir des informations supplémentaires sur l'erreur en
appelant CommDlgExtendedError:
--
François Picalausa
"Jeff" a écrit dans le message de
news:En "debug", l'appel à
GetOpenFileName semble renvoyer la valeur "faux" puisque le "If"
chargé de traiter ce que l'on ramène ne s'exécute pas.
J'obtiens un CDERR_INITIALIZATION en retour (The common dialog box
function failed during initialization. This error often occurs when
sufficient memory is not available).
Une idée sur ce qui peut créer cette erreur ? Je doute un peu qu'avec
512 Mo et juste cette application de lancée il manque de la mémoire.
Je suis d'autant plus sceptique sur cette piste suggéré parMS qu'il
n'y a aucun problème sous Win 98SE avec 128 Mo et d'autres
applications en route.
"François Picalausa" a écrit :
Si l'API GetOpenFileName renvoie 0 (et donc un if non exécuté), tu
peux obtenir des informations supplémentaires sur l'erreur en
appelant CommDlgExtendedError:
--
François Picalausa
"Jeff" <Jeff@discussions.microsoft.com> a écrit dans le message de
news: 03F9FA82-1700-4D55-B0F2-088F41B1AEA8@microsoft.com
En "debug", l'appel à
GetOpenFileName semble renvoyer la valeur "faux" puisque le "If"
chargé de traiter ce que l'on ramène ne s'exécute pas.
J'obtiens un CDERR_INITIALIZATION en retour (The common dialog box
function failed during initialization. This error often occurs when
sufficient memory is not available).
Une idée sur ce qui peut créer cette erreur ? Je doute un peu qu'avec
512 Mo et juste cette application de lancée il manque de la mémoire.
Je suis d'autant plus sceptique sur cette piste suggéré parMS qu'il
n'y a aucun problème sous Win 98SE avec 128 Mo et d'autres
applications en route.
"François Picalausa" a écrit :Si l'API GetOpenFileName renvoie 0 (et donc un if non exécuté), tu
peux obtenir des informations supplémentaires sur l'erreur en
appelant CommDlgExtendedError:
--
François Picalausa
"Jeff" a écrit dans le message de
news:En "debug", l'appel à
GetOpenFileName semble renvoyer la valeur "faux" puisque le "If"
chargé de traiter ce que l'on ramène ne s'exécute pas.
Bonsoir,
Voilà l'initialisation de OFN. Elle viendrait - d'après les commentaires -
de l'exemple du site vbnet.mvps.org qui a été adapté au cas particulier de
l'application. Certains éléments sont passés en paramètres. J'ai donné leurs
valeurs dans leur commentaire respectif. Je les retrouve bien en mode Debug.
' Size of the OFN structure
OFN.lngStructSize = Len(OFN)
' Filters (patterns) for the dropdown combo
' strFileFilters = "MS Office *.doc; *.xls; *.ppt" & Chr$(0) & "*.doc;
*.xls; *.ppt" _
' & Chr(0) & "Fichiers Acrobat *.pdf" & Chr(0) & "*.pdf" & Chr(0) _
' & "Tous les Fichiers *.*" & Chr(0) & "*.*" _
' & Chr(0) & Chr(0)
OFN.strFilter = strFilters
' Index to the initial filter
OFN.lngFilterIndex = 1
' Default filename, plus additional padding for the user's final
selection(s). Must be double-null terminated
OFN.strFile = "" & Space$(1024) & Chr(0) & Chr(0)
' The size of the buffer
OFN.lngMaxFile = Len(OFN.strFile)
' Default extension applied to file if it has no extention
OFN.strDefFileExt = "" & Chr(0) & Chr(0)
' Space for the file title if a single selection made, double-null
terminated, and its size
OFN.strFileTitle = Chr(0) & Space$(512) & Chr(0) & Chr(0)
OFN.lngMaxTitle = Len(OFN.strFileTitle)
' Starting folder, double-null terminated
' strInitialPath = "c:Mes Documents" & Chr(0) & Chr(0)
OFN.strInitialDir = strInitialPath
' The dialog title '
' strDialogTitle = "Sélection des pièces jointes"
OFN.strDialogTitle = strDialogTitle
' Default open flags and multiselect - avec le rappel des valeurs
OFN.lngFlags = OFN_EXPLORER _ ' = &H80000
Or OFN_LONGNAMES _ ' = &H200000
Or OFN_CREATEPROMPT _ ' = &H2000
Or OFN_NODEREFERENCELINKS _ ' = &H100000
Or OFN_ALLOWMULTISELECT _ ' = &H200
Or OFN_HIDEREADONLY ' = &H4
Vient ensuite l'appel à GetOpenFileName et le traitement des noms de
fichiers récupérés... quand ça marchait :-
Par ailleurs, dans la déclaration des flags, il apparaît un "OFS_MAXPATHNAME
= 260" (on le retrouve sur le site d'où vient l'exemple. Je ne retrouve rien
de ce genre sur MSDN dans la description de OPENFILENAME, même avec un ofN et
non ofS.
Merci d'avance pour cette aide très précieuse !
Bonsoir,
Voilà l'initialisation de OFN. Elle viendrait - d'après les commentaires -
de l'exemple du site vbnet.mvps.org qui a été adapté au cas particulier de
l'application. Certains éléments sont passés en paramètres. J'ai donné leurs
valeurs dans leur commentaire respectif. Je les retrouve bien en mode Debug.
' Size of the OFN structure
OFN.lngStructSize = Len(OFN)
' Filters (patterns) for the dropdown combo
' strFileFilters = "MS Office *.doc; *.xls; *.ppt" & Chr$(0) & "*.doc;
*.xls; *.ppt" _
' & Chr(0) & "Fichiers Acrobat *.pdf" & Chr(0) & "*.pdf" & Chr(0) _
' & "Tous les Fichiers *.*" & Chr(0) & "*.*" _
' & Chr(0) & Chr(0)
OFN.strFilter = strFilters
' Index to the initial filter
OFN.lngFilterIndex = 1
' Default filename, plus additional padding for the user's final
selection(s). Must be double-null terminated
OFN.strFile = "" & Space$(1024) & Chr(0) & Chr(0)
' The size of the buffer
OFN.lngMaxFile = Len(OFN.strFile)
' Default extension applied to file if it has no extention
OFN.strDefFileExt = "" & Chr(0) & Chr(0)
' Space for the file title if a single selection made, double-null
terminated, and its size
OFN.strFileTitle = Chr(0) & Space$(512) & Chr(0) & Chr(0)
OFN.lngMaxTitle = Len(OFN.strFileTitle)
' Starting folder, double-null terminated
' strInitialPath = "c:Mes Documents" & Chr(0) & Chr(0)
OFN.strInitialDir = strInitialPath
' The dialog title '
' strDialogTitle = "Sélection des pièces jointes"
OFN.strDialogTitle = strDialogTitle
' Default open flags and multiselect - avec le rappel des valeurs
OFN.lngFlags = OFN_EXPLORER _ ' = &H80000
Or OFN_LONGNAMES _ ' = &H200000
Or OFN_CREATEPROMPT _ ' = &H2000
Or OFN_NODEREFERENCELINKS _ ' = &H100000
Or OFN_ALLOWMULTISELECT _ ' = &H200
Or OFN_HIDEREADONLY ' = &H4
Vient ensuite l'appel à GetOpenFileName et le traitement des noms de
fichiers récupérés... quand ça marchait :-
Par ailleurs, dans la déclaration des flags, il apparaît un "OFS_MAXPATHNAME
= 260" (on le retrouve sur le site d'où vient l'exemple. Je ne retrouve rien
de ce genre sur MSDN dans la description de OPENFILENAME, même avec un ofN et
non ofS.
Merci d'avance pour cette aide très précieuse !
Bonsoir,
Voilà l'initialisation de OFN. Elle viendrait - d'après les commentaires -
de l'exemple du site vbnet.mvps.org qui a été adapté au cas particulier de
l'application. Certains éléments sont passés en paramètres. J'ai donné leurs
valeurs dans leur commentaire respectif. Je les retrouve bien en mode Debug.
' Size of the OFN structure
OFN.lngStructSize = Len(OFN)
' Filters (patterns) for the dropdown combo
' strFileFilters = "MS Office *.doc; *.xls; *.ppt" & Chr$(0) & "*.doc;
*.xls; *.ppt" _
' & Chr(0) & "Fichiers Acrobat *.pdf" & Chr(0) & "*.pdf" & Chr(0) _
' & "Tous les Fichiers *.*" & Chr(0) & "*.*" _
' & Chr(0) & Chr(0)
OFN.strFilter = strFilters
' Index to the initial filter
OFN.lngFilterIndex = 1
' Default filename, plus additional padding for the user's final
selection(s). Must be double-null terminated
OFN.strFile = "" & Space$(1024) & Chr(0) & Chr(0)
' The size of the buffer
OFN.lngMaxFile = Len(OFN.strFile)
' Default extension applied to file if it has no extention
OFN.strDefFileExt = "" & Chr(0) & Chr(0)
' Space for the file title if a single selection made, double-null
terminated, and its size
OFN.strFileTitle = Chr(0) & Space$(512) & Chr(0) & Chr(0)
OFN.lngMaxTitle = Len(OFN.strFileTitle)
' Starting folder, double-null terminated
' strInitialPath = "c:Mes Documents" & Chr(0) & Chr(0)
OFN.strInitialDir = strInitialPath
' The dialog title '
' strDialogTitle = "Sélection des pièces jointes"
OFN.strDialogTitle = strDialogTitle
' Default open flags and multiselect - avec le rappel des valeurs
OFN.lngFlags = OFN_EXPLORER _ ' = &H80000
Or OFN_LONGNAMES _ ' = &H200000
Or OFN_CREATEPROMPT _ ' = &H2000
Or OFN_NODEREFERENCELINKS _ ' = &H100000
Or OFN_ALLOWMULTISELECT _ ' = &H200
Or OFN_HIDEREADONLY ' = &H4
Vient ensuite l'appel à GetOpenFileName et le traitement des noms de
fichiers récupérés... quand ça marchait :-
Par ailleurs, dans la déclaration des flags, il apparaît un "OFS_MAXPATHNAME
= 260" (on le retrouve sur le site d'où vient l'exemple. Je ne retrouve rien
de ce genre sur MSDN dans la description de OPENFILENAME, même avec un ofN et
non ofS.
Merci d'avance pour cette aide très précieuse !
Personne n'a d'idée(s) sur une erreur éventuelle dans la structure
... ou sur l'origine du problème ? :-
Jeff
"Jeff" a écrit :Bonsoir,
Voilà l'initialisation de OFN. Elle viendrait - d'après les
commentaires - de l'exemple du site vbnet.mvps.org qui a été adapté
au cas particulier de l'application. Certains éléments sont passés
en paramètres. J'ai donné leurs valeurs dans leur commentaire
respectif. Je les retrouve bien en mode Debug.
Personne n'a d'idée(s) sur une erreur éventuelle dans la structure
... ou sur l'origine du problème ? :-
Jeff
"Jeff" a écrit :
Bonsoir,
Voilà l'initialisation de OFN. Elle viendrait - d'après les
commentaires - de l'exemple du site vbnet.mvps.org qui a été adapté
au cas particulier de l'application. Certains éléments sont passés
en paramètres. J'ai donné leurs valeurs dans leur commentaire
respectif. Je les retrouve bien en mode Debug.
Personne n'a d'idée(s) sur une erreur éventuelle dans la structure
... ou sur l'origine du problème ? :-
Jeff
"Jeff" a écrit :Bonsoir,
Voilà l'initialisation de OFN. Elle viendrait - d'après les
commentaires - de l'exemple du site vbnet.mvps.org qui a été adapté
au cas particulier de l'application. Certains éléments sont passés
en paramètres. J'ai donné leurs valeurs dans leur commentaire
respectif. Je les retrouve bien en mode Debug.