Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Utilisation de l'API "Openfile" sous VB

TheNox, le jeudi 8 avril 2004 à 19:55:36
Salut,

Question Visual basic :

S'il vous plait, pour ceux qui aurrai une réponse :
Comment faire pour utiliser la boite de dialogue "SaveFile" de windows sous vb.

J'ai réussi à me procurrer un code pour la boite de dialogue "OpenFile" de windows mais par contre j'ai pas pu avoir l'autre.

Code pour "OpenFile" de windows à ceuw que ca intersserait au passage :
-------------------------------------------------------------------------
' Déclaration de l'API
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

' GetOpenFileName flags
Public Enum OFN_Constants
OFN_ALLOWMULTISELECT = &H200
OFN_CREATEPROMPT = &H2000
OFN_DONTADDTORECENT = &H2000000
OFN_ENABLEHOOK = &H20
OFN_ENABLEINCLUDENOTIFY = &H400000
OFN_ENABLESIZING = &H800000
OFN_ENABLETEMPLATE = &H40
OFN_ENABLETEMPLATEHANDLE = &H80
OFN_EX_NOPLACESBAR = &H1
OFN_EXPLORER = &H80000
OFN_EXTENSIONDIFFERENT = &H400
OFN_FILEMUSTEXIST = &H1000
OFN_FORCESHOWHIDDEN = &H10000000
OFN_HIDEREADONLY = &H4
OFN_LONGNAMES = &H200000
OFN_NOCHANGEDIR = &H8
OFN_NODEREFERENCELINKS = &H100000
OFN_NOLONGNAMES = &H40000
OFN_NONETWORKBUTTON = &H20000
OFN_NOREADONLYRETURN = &H8000
OFN_NOTESTFILECREATE = &H10000
OFN_NOVALIDATE = &H100
OFN_OVERWRITEPROMPT = &H2
OFN_PATHMUSTEXIST = &H800
OFN_READONLY = &H1
OFN_SHAREAWARE = &H4000
OFN_SHAREFALLTHROUGH = 2
OFN_SHARENOWARN = 1
OFN_SHAREWARN = 0
OFN_SHOWHELP = &H10
OFN_USEMONIKERS = &H1000000
End Enum

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

'---------------------------------------------------------------------------------------
' Sub : OpenFileDialog
' DateTime : 03/09/2002 15:19
' Auteur : Pierre Alexis
' But : Cette procédure affiche la boîte de dialogue "OpenFile" et retourne
' le chemin du fichier choisi
'---------------------------------------------------------------------------------------
Public Function OpenFileDialog(Optional DialogTitle As String, Optional sFilter As String, Optional Flags As OFN_Constants, Optional InitialDir As String, Optional hwndOwner As Long, Optional hInstance As Long) As String

Dim OFName As OPENFILENAME

With OFName
.lStructSize = Len(OFName)
.hwndOwner = hwndOwner
.hInstance = hInstance
.lpstrFilter = sFilter
.lpstrFile = Space$(254)
.nMaxFile = 255
.lpstrFileTitle = Space$(254)
.nMaxFileTitle = 255
.lpstrInitialDir = InitialDir
.lpstrTitle = DialogTitle
.Flags = Flags
End With

If GetOpenFileName(OFName) Then
OpenFileDialog = Trim$(OFName.lpstrFile)
End If

End Function

Private Sub Form_Load()

MsgBox OpenFileDialog("Choississez un fichier...", "Sons wav (*.wav)" + Chr$(0) + "*.wav" & Chr$(0), OFN_HIDEREADONLY, CurDir, Me.hWnd, App.hInstance)

End Sub
---------------------------------------------------------------------------

<TheNox> :-)
Répondre à TheNox  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lamia, le jeudi 19 août 2004 à 13:47:17
Bonjour,

J'utilise également la methode Getopenfilename, cependant je voudrais sélectionner plusieurs fichiers avant de valider mais je n'y arrive pas. Aurais-tu une solution
Merci
Répondre à lamia

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Jereck, le samedi 23 octobre 2004 à 01:27:47
C'est exactement la même chose, sauf qu'il faut déclarer :

Private Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long
Répondre à Jereck
[ado] vb6 ado recordset like (Résolu) Bonjour J'utilise Ado avec vb6 et je n'arrive pas à utiliser l'opérateur LIKE dans un recordset j'obtiens toujours un recordset vide exe: "select * from fichier where nom like 'BER*' Merci de me dépanner www.commentcamarche.net/forum/affich-2345254-ado-vb6-ado-recordset-like
VBA Executer une macro a l'ouverture de excel (Résolu) Salut, J'essaye de mettre en place des outils d'aide à la décision dans mon entreprise en utilisant des formulaires VBA. Je n'arrive pas à trouver la fonction suivante : Code ou instruction qui affiche un formulaire dès l'ouverture... www.commentcamarche.net/forum/affich-1903604-vba-executer-une-macro-a-l-ouverture-de-excel
Boucle While avec incrémentation : vba excel (Résolu) Bonjour, Il y a longtemps que je n’ai pas utilisé le langage vba mais aujourd’hui j’en ai besoin et ça ne revient pas si vite que ça. Voilà mon problème : Je possède 2 séries de valeurs (« tableaux ») sur la même feuille Excel. Voici un petit schéma :... www.commentcamarche.net/forum/affich-7443559-boucle-while-avec-incrementation-vba-excel
[VBA/VB6] Rép. Mes Documents+Variables EnvironnementDans l'explorateur de fichiers, le dossier Mes Documents semble être sur le root, or ce n'est pas le cas. Il est situé dans un sous-répertoire de C:\Documents and Settings. Le hic, c'est que le premier sous-répertoire prend le nom de l'utilisateur et... www.commentcamarche.net/faq/sujet-12901-vba-vb6-rep-mes-documents-variables-environnement
Mise à jour d'une procèdure ou d'une fonction en VBAMise à jour d'une procédure ou d'une fonction en VBA Souvent la gestion d'un classeur, avec seulement les fonctions standards du tableur, pose des problèmes d'utilisation. Vous songez donc à utiliser Visual Basic pour Applications (VBA) mais... www.commentcamarche.net/faq/sujet-8130-mise-a-jour-d-une-procedure-ou-d-une-fonction-en-vba
Gestion des feuilles d'un classeur en vba (Résolu)Bonjour, Je suis en train d'apprendre à utiliser le langage VBA sous excel, et mon problème est le suivant: lorsque je créé une nouvelle feuille à un classeur, en faisant Sheets.Add After:=Sheets(Sheets.Count) je n'arrive pas à trouver la... www.commentcamarche.net/forum/affich-7156422-gestion-des-feuilles-d-un-classeur-en-vba
Projet en finance avec excel sous VBA (Résolu)Bonjour, j'aurai besoin d'aide sur un projet que je dois rendre, ça doit être quelque chose en finance (genre modèle de marché, régression ou autre...) et je suis supposée utiliser Excel sous VBA, mais je ne maîtrise pas encore, donc si... www.commentcamarche.net/forum/affich-4657234-projet-en-finance-avec-excel-sous-vba
Identification des types entre C et vb (Résolu)Bonjour à tous!!! J'ai une dll qui a été ecrite en C. mais je voudrai l utiliser avec du VB. il faudrait que j identifie les variables de type typedef char typedef unsigned char typedef short int typedef long typedef unsigned short int typedef... www.commentcamarche.net/forum/affich-1260409-identification-des-types-entre-c-et-vb
ODBC (Open DataBase Connectivity)Qu'appelle-t-on ODBC? ODBC signifie Open DataBase Connectivity. Il s'agit d'un format défini par Microsoft permettant la communication entre des clients bases de données fonctionnant sous Windows et les SGBD du marché. Le gestionnaire ODBC est... www.commentcamarche.net/contents/odbc/odbcintro.php3