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

isa911 63 Messages postés mercredi 28 février 2001Date d'inscription 25 novembre 2010 Dernière intervention - 12 déc. 2005 à 17:25 - Dernière réponse : isa911 63 Messages postés mercredi 28 février 2001Date d'inscription 25 novembre 2010 Dernière intervention
- 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
isa911 63 Messages postés mercredi 28 février 2001Date d'inscription 25 novembre 2010 Dernière intervention - 13 déc. 2005 à 10:08
3
Merci
Il faut mettre :
OpenFile.lpstrFile = Left(InitChemin & String(257, 0), 257)

Et ca marche !!!!

Isa911

Merci isa911 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

jpleroisse 1788 Messages postés mardi 7 novembre 2000Date d'inscription 11 mars 2006 Dernière intervention - 12 déc. 2005 à 17:47
0
Merci
Bonsoir,

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



jpleroisse
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 12 déc. 2005 à 18:10
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/
isa911 63 Messages postés mercredi 28 février 2001Date d'inscription 25 novembre 2010 Dernière intervention - 13 déc. 2005 à 08:28
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
isa911 63 Messages postés mercredi 28 février 2001Date d'inscription 25 novembre 2010 Dernière intervention - 13 déc. 2005 à 10:07
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.