par Michael DELIQUE » 05 Nov 2007 à 17:49
une autre version
- Code : Tout sélectionner
Public Function GetFile_API As String
'cette fonction permet de sélectionne un fichier via le selecteur de ficheir de windows
%REM
'variable API pour la fonction GetFile
Type tagOPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As Long
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 Long
End Type
Public Const OFN_FILEMUSTEXIST = &H1000
Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (OPENFILENAME As tagOPENFILENAME) As Long
%END REM
'Déclaration des Variables
Dim OPENFILENAME As tagOPENFILENAME
Dim CurrentDirectory As String
Dim FileName As String
Dim FileTitle As String
Dim Titre As String
Dim nbAPIResults As Integer
On Error Goto ErreurGetFile_API
Titre = " SELECTION FICHIER" & Chr$(0)
'Initialisation des variable
FileName = Chr$(0) & Space$(255) & Chr$(0)
FileTitle = Space$(255) & Chr$(0)
'récupere le répertoire par défaut
CurrentDirectory = Curdir$ & Chr$(0)
'Initialise la structure avant l'appel de la fonction API GetOpenFileName
OPENFILENAME.lStructSize = Len(OPENFILENAME)
OPENFILENAME.hwndOwner = 0&
OPENFILENAME.nFilterIndex = 1
OPENFILENAME.lpstrFile = FileName
OPENFILENAME.nMaxFile = Len(FileName)
OPENFILENAME.lpstrFileTitle = FileTitle
OPENFILENAME.nMaxFileTitle = Len(FileTitle)
OPENFILENAME.lpstrTitle = Titre
OPENFILENAME.Flags = OFN_FILEMUSTEXIST
OPENFILENAME.hInstance = 0
OPENFILENAME.lpstrCustomFilter = 0
OPENFILENAME.nMaxCustFilter = 0
OPENFILENAME.lpstrInitialDir = CurrentDirectory
OPENFILENAME.nFileOffset = 0
OPENFILENAME.nFileExtension = 0
OPENFILENAME.lCustData = 0
OPENFILENAME.lpfnHook = 0
OPENFILENAME.lpTemplateName = 0
'Appel de la fonction de selection
nbAPIResults = GetOpenFileName(OPENFILENAME)
' FileName = Cstr( OPENFILENAME.lpstrFile )
' FileTitle = Cstr( OPENFILENAME.lpstrFileTitle )
GetFile_API = Cstr( OPENFILENAME.lpstrFile )
Exit Function
ErreurGetFile_API:
Msgbox "("+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
GetFile_API = ""
Exit Function
End Function
Cordialement
Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN