Boite de dialogue Ouvrir / Enregistrer Sous (API OPENFILENAME) [Résolu]

Messages postés
63
Date d'inscription
mercredi 28 février 2001
Dernière intervention
25 novembre 2010
- - Dernière réponse : isa911
Messages postés
63
Date d'inscription
mercredi 28 février 2001
Dernière intervention
25 novembre 2010
- 13 déc. 2005 à 10:08
Bonjour,

Je cherche à utiliser cette API, elle fonctionne correctement, mais comment faire pour mettre un nom de fichier par défaut pour l'enregistrement ?

En utilisant lpstrInitialDir, je n'arrive qu'à sélectionner le répertoire, comment faire pour renseigner le champ " Nom du fichier ... " ????

Isa911
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
63
Date d'inscription
mercredi 28 février 2001
Dernière intervention
25 novembre 2010
3
Merci
Il faut mettre :
OpenFile.lpstrFile = Left(InitChemin & String(257, 0), 257)

Et ca marche !!!!

Isa911

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Dernière intervention
11 mars 2006
0
Merci
Bonsoir,

Tu programme en Quoi ???, mets un bout de code pour se rendre compte de ce que tu veux dire (faire)..



jpleroisse
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
0
Merci
lpstrFile de la structure OPENFILENAME doit te permettre de définir le nom par défaut.

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
Messages postés
63
Date d'inscription
mercredi 28 février 2001
Dernière intervention
25 novembre 2010
0
Merci
Je programme en VBA sur Access 97.

'Declaration
Public Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
Public Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long


Private Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type

Ma fonction :
Function SelectionFichier(Num As Integer, Optional InitChemin As String, Optional TexteTitre As String) As String '(strform As Form)
'Num = 1 : Selection fichier, 2 : Enregistre sous
'InitChemin = Chemin complet par defaut
'TexteTitre = Texte inscrit dans le titre du CommonDialog
Dim OpenFile As OPENFILENAME
Dim lReturn As Long
Dim sFilter As String
OpenFile.lStructSize = Len(OpenFile)
sFilter = "All Files (*.*)" & Chr(0) & "*.*" & Chr(0) & "JPEG Files (*.JPG)" & Chr(0) & "*.JPG" & Chr(0) & "Excel Files (*.Xls)" & Chr(0) & "*.Xls" & Chr(0)
OpenFile.lpstrFilter = sFilter
OpenFile.nFilterIndex = 1
OpenFile.lpstrFile = String(257, 0)
OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1
OpenFile.lpstrFileTitle = OpenFile.lpstrFile
OpenFile.nMaxFileTitle = OpenFile.nMaxFile
OpenFile.lpstrInitialDir = InitChemin
If TexteTitre = Null Then
OpenFile.lpstrTitle = "Selection Fichier"
Else
OpenFile.lpstrTitle = TexteTitre
End If
OpenFile.flags = 0
OpenFile.lpTemplateName = InitChemin
Select Case Num
Case 1
lReturn = GetOpenFileName(OpenFile)
Case 2
lReturn = GetSaveFileName(OpenFile)
Case Else
lReturn = 0
End Select
If lReturn = 0 Then
MsgBox "Aucun fichier selectionné !", vbInformation, "Selection Fichier"
Else
SelectionFichier = Trim(Left(OpenFile.lpstrFile, InStr(1, OpenFile.lpstrFile, vbNullChar) - 1))
End If
End Function

Exemple d'utilisation de ma fonction :
enr = SelectionFichier(2, "C:\Access\essais."xls", "Enregistrement du fichier Excel")

Isa911
Messages postés
63
Date d'inscription
mercredi 28 février 2001
Dernière intervention
25 novembre 2010
0
Merci
En mettant le nom de mon fichier avec ou sans le chemin complet dans lpstrFile, cela ne fonctionne pas.

Je n'ai pu installer ProgOtoP.

Isa911

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.