Voici la fonction que j'utilise pour sélectionner un fichier par le biais
d'une boîte de dialogue...
***
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias
"GetOpenFileNameA" (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
Function GetFileName(Filter As String, InitialDir As String, Title As
String) As String
Dim OpenFile As OpenFileName
Dim lReturn As Long
With OpenFile
.lStructSize = Len(OpenFile)
.lpstrFilter = Filter
.nFilterIndex = 1
.lpstrFile = String(257, 0)
.nMaxFile = Len(OpenFile.lpstrFile) - 1
.lpstrFileTitle = OpenFile.lpstrFile
.nMaxFileTitle = OpenFile.nMaxFile
.lpstrInitialDir = InitialDir
.lpstrTitle = Title
.flags = 0
End With
lReturn = GetOpenFileName(OpenFile)
If lReturn = 0 Then
GetFileName = ""
Else
GetFileName = Trim(OpenFile.lpstrFile)
End If
End Function
***
Quel paramètre faut-il modifier dans cette fonction pour pouvoir
sélectionner un chemin de répertoire et non un fichier?
A ma connaissance, on ne peut pas sélectionner de répertoire avec cette API. Il vaudrait mieux regarder du côté de l'API SHBrowseForFolder ou de la méthode BrowseForFolder de l'objet Shell.Application. Voir le fil du 03/07/2005 de 9:53 initié par Gaston.
Bonjour,
Voici la fonction que j'utilise pour sélectionner un fichier par le biais d'une boîte de dialogue...
***
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (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
Function GetFileName(Filter As String, InitialDir As String, Title As String) As String Dim OpenFile As OpenFileName Dim lReturn As Long
With OpenFile ..lStructSize = Len(OpenFile) ..lpstrFilter = Filter ..nFilterIndex = 1 ..lpstrFile = String(257, 0) ..nMaxFile = Len(OpenFile.lpstrFile) - 1 ..lpstrFileTitle = OpenFile.lpstrFile ..nMaxFileTitle = OpenFile.nMaxFile ..lpstrInitialDir = InitialDir ..lpstrTitle = Title ..flags = 0 End With
lReturn = GetOpenFileName(OpenFile)
If lReturn = 0 Then GetFileName = "" Else GetFileName = Trim(OpenFile.lpstrFile) End If End Function
***
Quel paramètre faut-il modifier dans cette fonction pour pouvoir sélectionner un chemin de répertoire et non un fichier?
Merci d'avance!
Salut.
-- Cordialement,
Jacques.
Bonjour Kevin,
A ma connaissance, on ne peut pas sélectionner de répertoire avec
cette API. Il vaudrait mieux regarder du côté de l'API SHBrowseForFolder
ou de la méthode BrowseForFolder de l'objet Shell.Application. Voir le
fil du 03/07/2005 de 9:53 initié par Gaston.
Bonjour,
Voici la fonction que j'utilise pour sélectionner un fichier par le biais
d'une boîte de dialogue...
***
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias
"GetOpenFileNameA" (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
Function GetFileName(Filter As String, InitialDir As String, Title As
String) As String
Dim OpenFile As OpenFileName
Dim lReturn As Long
With OpenFile
..lStructSize = Len(OpenFile)
..lpstrFilter = Filter
..nFilterIndex = 1
..lpstrFile = String(257, 0)
..nMaxFile = Len(OpenFile.lpstrFile) - 1
..lpstrFileTitle = OpenFile.lpstrFile
..nMaxFileTitle = OpenFile.nMaxFile
..lpstrInitialDir = InitialDir
..lpstrTitle = Title
..flags = 0
End With
lReturn = GetOpenFileName(OpenFile)
If lReturn = 0 Then
GetFileName = ""
Else
GetFileName = Trim(OpenFile.lpstrFile)
End If
End Function
***
Quel paramètre faut-il modifier dans cette fonction pour pouvoir
sélectionner un chemin de répertoire et non un fichier?
A ma connaissance, on ne peut pas sélectionner de répertoire avec cette API. Il vaudrait mieux regarder du côté de l'API SHBrowseForFolder ou de la méthode BrowseForFolder de l'objet Shell.Application. Voir le fil du 03/07/2005 de 9:53 initié par Gaston.
Bonjour,
Voici la fonction que j'utilise pour sélectionner un fichier par le biais d'une boîte de dialogue...
***
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (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
Function GetFileName(Filter As String, InitialDir As String, Title As String) As String Dim OpenFile As OpenFileName Dim lReturn As Long
With OpenFile ..lStructSize = Len(OpenFile) ..lpstrFilter = Filter ..nFilterIndex = 1 ..lpstrFile = String(257, 0) ..nMaxFile = Len(OpenFile.lpstrFile) - 1 ..lpstrFileTitle = OpenFile.lpstrFile ..nMaxFileTitle = OpenFile.nMaxFile ..lpstrInitialDir = InitialDir ..lpstrTitle = Title ..flags = 0 End With
lReturn = GetOpenFileName(OpenFile)
If lReturn = 0 Then GetFileName = "" Else GetFileName = Trim(OpenFile.lpstrFile) End If End Function
***
Quel paramètre faut-il modifier dans cette fonction pour pouvoir sélectionner un chemin de répertoire et non un fichier?
Merci d'avance!
Salut.
-- Cordialement,
Jacques.
Modeste
Bonsour® Jacques93 Voir aussi là : http://j-walk.com/ss/excel/tips/tip29.htm et exemple là : http://www.bmsltd.ie/DLCount/DLCount.asp?file=BrowseForFolder.zip
@+
Bonsour® Jacques93
Voir aussi là :
http://j-walk.com/ss/excel/tips/tip29.htm
et exemple là :
http://www.bmsltd.ie/DLCount/DLCount.asp?file=BrowseForFolder.zip
Bonsour® Jacques93 Voir aussi là : http://j-walk.com/ss/excel/tips/tip29.htm et exemple là : http://www.bmsltd.ie/DLCount/DLCount.asp?file=BrowseForFolder.zip
@+
Jacques93
Bonsour® Jacques93 Voir aussi là : http://j-walk.com/ss/excel/tips/tip29.htm et exemple là : http://www.bmsltd.ie/DLCount/DLCount.asp?file=BrowseForFolder.zip
@+
Les deux liens me semble t-il utilisent l'API SHBrowseForFolder , qui est indiqué dans mon post, et expliquée dans le fil par rgi ;-)
Un plus cependant pour le second, qui utilise les possibilités de CallBack de l'API :-D
Ou me trompe je ?
-- Cordialement,
Jacques.
Bonsour® Jacques93
Voir aussi là :
http://j-walk.com/ss/excel/tips/tip29.htm
et exemple là :
http://www.bmsltd.ie/DLCount/DLCount.asp?file=BrowseForFolder.zip
@+
Les deux liens me semble t-il utilisent l'API SHBrowseForFolder , qui
est indiqué dans mon post, et expliquée dans le fil par rgi ;-)
Un plus cependant pour le second, qui utilise les possibilités de
CallBack de l'API :-D
Bonsour® Jacques93 Voir aussi là : http://j-walk.com/ss/excel/tips/tip29.htm et exemple là : http://www.bmsltd.ie/DLCount/DLCount.asp?file=BrowseForFolder.zip
@+
Les deux liens me semble t-il utilisent l'API SHBrowseForFolder , qui est indiqué dans mon post, et expliquée dans le fil par rgi ;-)
Un plus cependant pour le second, qui utilise les possibilités de CallBack de l'API :-D
Ou me trompe je ?
-- Cordialement,
Jacques.
Modeste
Bonsour® Jacques93 wrote:
Les deux liens me semble t-il utilisent l'API SHBrowseForFolder , qui est indiqué dans mon post, et expliquée dans le fil par rgi ;-) Ou me trompe je ? ;o)))
tout au plus un indice complémentaire vers qui sont nos maîtres !!!!
@+
Bonsour®
Jacques93 wrote:
Les deux liens me semble t-il utilisent l'API SHBrowseForFolder , qui
est indiqué dans mon post, et expliquée dans le fil par rgi ;-)
Ou me trompe je ?
;o)))
tout au plus un indice complémentaire vers qui sont nos maîtres !!!!
Les deux liens me semble t-il utilisent l'API SHBrowseForFolder , qui est indiqué dans mon post, et expliquée dans le fil par rgi ;-) Ou me trompe je ? ;o)))
tout au plus un indice complémentaire vers qui sont nos maîtres !!!!
@+
Jacques93
Bientôt, re-bonjour Modeste
Bonsour® Jacques93 wrote:
Les deux liens me semble t-il utilisent l'API SHBrowseForFolder , qui est indiqué dans mon post, et expliquée dans le fil par rgi ;-) Ou me trompe je ?
;o))) tout au plus un indice complémentaire vers qui sont nos maîtres !!!!
@+
Chacun les siens, et comme dit jps chaque mili/centi/deca, etc maîtres s'y reconnaitra. Pour moi c'est par là :
Les deux liens me semble t-il utilisent l'API SHBrowseForFolder , qui
est indiqué dans mon post, et expliquée dans le fil par rgi ;-)
Ou me trompe je ?
;o)))
tout au plus un indice complémentaire vers qui sont nos maîtres !!!!
@+
Chacun les siens, et comme dit jps chaque mili/centi/deca, etc maîtres
s'y reconnaitra. Pour moi c'est par là :
Les deux liens me semble t-il utilisent l'API SHBrowseForFolder , qui est indiqué dans mon post, et expliquée dans le fil par rgi ;-) Ou me trompe je ?
;o))) tout au plus un indice complémentaire vers qui sont nos maîtres !!!!
@+
Chacun les siens, et comme dit jps chaque mili/centi/deca, etc maîtres s'y reconnaitra. Pour moi c'est par là :
....plasmes, parfois, mais là, c'est quand on a un peu trop chargé la mule... jps
Hips..., Hectos... Litres, ou hectos... maitre jps ?
-- Cordialement,
Jacques.
Modeste
Bonsour® Jacques93 wrote:
http://vbnet.mvps.org/code/browse/browsefolders.htm Qui a copié ? :-D
;o))) peut-on parler de copie ??? Eternel paradoxe de la poule et de l'oeuf
à ce niveau (MVP) je pense que nos maitres sont tous destinataires en avant première des mêmes documents techniques Microsoft et MSDN notament : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/objects/shell/browseforfolder.asp et qu'en terme d'antériorité, seule la diffusion vers les "vulgus pecum" est significative... ;o)))
Bonsour®
Jacques93 wrote:
http://vbnet.mvps.org/code/browse/browsefolders.htm
Qui a copié ? :-D
;o)))
peut-on parler de copie ???
Eternel paradoxe de la poule et de l'oeuf
à ce niveau (MVP) je pense que nos maitres sont tous destinataires en avant
première des mêmes documents techniques Microsoft et MSDN
notament :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/objects/shell/browseforfolder.asp
et qu'en terme d'antériorité, seule la diffusion vers les "vulgus pecum" est
significative...
;o)))
http://vbnet.mvps.org/code/browse/browsefolders.htm Qui a copié ? :-D
;o))) peut-on parler de copie ??? Eternel paradoxe de la poule et de l'oeuf
à ce niveau (MVP) je pense que nos maitres sont tous destinataires en avant première des mêmes documents techniques Microsoft et MSDN notament : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/objects/shell/browseforfolder.asp et qu'en terme d'antériorité, seule la diffusion vers les "vulgus pecum" est significative... ;o)))
AV
tous destinataires en avant première des mêmes documents techniques Microsoft et MSDN
Même que si tu veux quelques centimètres de CDs et dans la langue que tu veux ! Une ommision consternante : pas d'éditions en langue d'Oc!
AV
tous destinataires en avant
première des mêmes documents techniques Microsoft et MSDN
Même que si tu veux quelques centimètres de CDs et dans la langue que tu veux !
Une ommision consternante : pas d'éditions en langue d'Oc!