je sais comment utiliser le common dialog 6 (boite OUVRIR) pour récupérer un
nom de fichier texte ou autre mais ne sais comment récupérer le nom du
dossier
En effet la boite Ouvrir oblige à descendre toute l'arborescence
moi je désirerai pouvoir m'arreter avant et récuperer le nom du dossier
Petit exemple vaut mieux qu'un long discours:
dans C:\MonProg\Val1\Cotes\Juin.txt
j'aimerai récupérer uniquement C:\MonProg\Val1\Cotes
Comment faire?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ivan Pequeño
Attention je nái pas un clavier francais, donc les accents...ce que je peux
Bonjour Dans la section déclarations
Private _ Type BrowseInfo hWndOwner As Long pIDLRoot As Long pszDisplayName As Long lpszTitle As Long ulFlags As Long lpfnCallback As Long lParam As Long iImage As Long End Type
Private _ Declare Function SHBrowseForFolder& _ Lib "shell32" _ (lpbi As BrowseInfo)
Public Function Carpetas(ObjFrm As Object, Optional Titulo$) As String
Dim ID As Long
Dim SRet As String, _ Titre As String
Dim Barre As BrowseInfo
Titre = IIf(Len(Titulo$) = 0, "Carpetas", Titulo$)
With Barre .hWndOwner = ObjFrm.hwnd .lpszTitle = LStrCat(Titre, "") .ulFlags = BIF_RETURNONLYFSDIRS _ + BIF_DONTGOBELOWDOMAIN End With
ID = SHBrowseForFolder(Barre)
If ID Then SRet = Space(MAX_PATH) SHGetPathFromIDList ID, SRet SRet = Left(SRet, InStr(SRet, vbNullChar) - 1) Carpetas = SRet End If
End Function
Il se pourrait qu'il manque quelque chosse, dans ce cas envouyez-moi un mail a (au Chili)
j'espére que ceci vous sera dútilité
Attention
je nái pas un clavier francais, donc les accents...ce que je peux
Bonjour
Dans la section déclarations
Private _
Type BrowseInfo
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Private _
Declare Function SHBrowseForFolder& _
Lib "shell32" _
(lpbi As BrowseInfo)
Public Function Carpetas(ObjFrm As Object, Optional Titulo$) As String
Dim ID As Long
Dim SRet As String, _
Titre As String
Dim Barre As BrowseInfo
Titre = IIf(Len(Titulo$) = 0, "Carpetas", Titulo$)
With Barre
.hWndOwner = ObjFrm.hwnd
.lpszTitle = LStrCat(Titre, "")
.ulFlags = BIF_RETURNONLYFSDIRS _
+ BIF_DONTGOBELOWDOMAIN
End With
ID = SHBrowseForFolder(Barre)
If ID Then
SRet = Space(MAX_PATH)
SHGetPathFromIDList ID, SRet
SRet = Left(SRet, InStr(SRet, vbNullChar) - 1)
Carpetas = SRet
End If
End Function
Il se pourrait qu'il manque quelque chosse, dans ce cas envouyez-moi
un mail a ipeque90@bancoestado.cl (au Chili)
Attention je nái pas un clavier francais, donc les accents...ce que je peux
Bonjour Dans la section déclarations
Private _ Type BrowseInfo hWndOwner As Long pIDLRoot As Long pszDisplayName As Long lpszTitle As Long ulFlags As Long lpfnCallback As Long lParam As Long iImage As Long End Type
Private _ Declare Function SHBrowseForFolder& _ Lib "shell32" _ (lpbi As BrowseInfo)
Public Function Carpetas(ObjFrm As Object, Optional Titulo$) As String
Dim ID As Long
Dim SRet As String, _ Titre As String
Dim Barre As BrowseInfo
Titre = IIf(Len(Titulo$) = 0, "Carpetas", Titulo$)
With Barre .hWndOwner = ObjFrm.hwnd .lpszTitle = LStrCat(Titre, "") .ulFlags = BIF_RETURNONLYFSDIRS _ + BIF_DONTGOBELOWDOMAIN End With
ID = SHBrowseForFolder(Barre)
If ID Then SRet = Space(MAX_PATH) SHGetPathFromIDList ID, SRet SRet = Left(SRet, InStr(SRet, vbNullChar) - 1) Carpetas = SRet End If
End Function
Il se pourrait qu'il manque quelque chosse, dans ce cas envouyez-moi un mail a (au Chili)
j'espére que ceci vous sera dútilité
Pascal
Hello Ivan merci pour ta réponse et le temps consacré entre temps j'avais fait ceci : (similaire) il fait beau au chili? ici (belgique) maussade
Private _ Type BrowseInfo hWndOwner As Long pIDLRoot As Long pszDisplayName As Long lpszTitle As Long ulFlags As Long lpfnCallback As Long lParam As Long iImage As Long End Type
Public Function SelectFolder(Titre As String, Handle As Long) As String 'sélectionne un répertoire Dim lpIDList As Long Dim strBuffer As String Dim strTitre As String Dim tBrowseInfo As BrowseInfo
strTitre = Titre With tBrowseInfo .hWndOwner = Handle .lpszTitle = lstrcat(strTitre, "") .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN End With
lpIDList = SHBrowseForFolder(tBrowseInfo)
If (lpIDList) Then strBuffer = String(260, vbNullChar) SHGetPathFromIDList lpIDList, strBuffer SelectFolder = left(strBuffer, InStr(strBuffer, vbNullChar) - 1) End If
End Function
"Ivan Pequeño" a écrit dans le message de news:
Attention je nái pas un clavier francais, donc les accents...ce que je peux
Bonjour Dans la section déclarations
Private _ Type BrowseInfo hWndOwner As Long pIDLRoot As Long pszDisplayName As Long lpszTitle As Long ulFlags As Long lpfnCallback As Long lParam As Long iImage As Long End Type
Private _ Declare Function SHBrowseForFolder& _ Lib "shell32" _ (lpbi As BrowseInfo)
Public Function Carpetas(ObjFrm As Object, Optional Titulo$) As String
Dim ID As Long
Dim SRet As String, _ Titre As String
Dim Barre As BrowseInfo
Titre = IIf(Len(Titulo$) = 0, "Carpetas", Titulo$)
With Barre .hWndOwner = ObjFrm.hwnd .lpszTitle = LStrCat(Titre, "") .ulFlags = BIF_RETURNONLYFSDIRS _ + BIF_DONTGOBELOWDOMAIN End With
ID = SHBrowseForFolder(Barre)
If ID Then SRet = Space(MAX_PATH) SHGetPathFromIDList ID, SRet SRet = Left(SRet, InStr(SRet, vbNullChar) - 1) Carpetas = SRet End If
End Function
Il se pourrait qu'il manque quelque chosse, dans ce cas envouyez-moi un mail a (au Chili)
j'espére que ceci vous sera dútilité
Hello Ivan
merci pour ta réponse et le temps consacré
entre temps j'avais fait ceci : (similaire)
il fait beau au chili? ici (belgique) maussade
Private _
Type BrowseInfo
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Public Function SelectFolder(Titre As String, Handle As Long) As String
'sélectionne un répertoire
Dim lpIDList As Long
Dim strBuffer As String
Dim strTitre As String
Dim tBrowseInfo As BrowseInfo
strTitre = Titre
With tBrowseInfo
.hWndOwner = Handle
.lpszTitle = lstrcat(strTitre, "")
.ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
End With
lpIDList = SHBrowseForFolder(tBrowseInfo)
If (lpIDList) Then
strBuffer = String(260, vbNullChar)
SHGetPathFromIDList lpIDList, strBuffer
SelectFolder = left(strBuffer, InStr(strBuffer, vbNullChar) - 1)
End If
End Function
"Ivan Pequeño" <IvanPequeo@discussions.microsoft.com> a écrit dans le
message de news:D9BE739A-D954-49C3-863D-A69B57A88BC1@microsoft.com...
Attention
je nái pas un clavier francais, donc les accents...ce que je peux
Bonjour
Dans la section déclarations
Private _
Type BrowseInfo
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Private _
Declare Function SHBrowseForFolder& _
Lib "shell32" _
(lpbi As BrowseInfo)
Public Function Carpetas(ObjFrm As Object, Optional Titulo$) As String
Dim ID As Long
Dim SRet As String, _
Titre As String
Dim Barre As BrowseInfo
Titre = IIf(Len(Titulo$) = 0, "Carpetas", Titulo$)
With Barre
.hWndOwner = ObjFrm.hwnd
.lpszTitle = LStrCat(Titre, "")
.ulFlags = BIF_RETURNONLYFSDIRS _
+ BIF_DONTGOBELOWDOMAIN
End With
ID = SHBrowseForFolder(Barre)
If ID Then
SRet = Space(MAX_PATH)
SHGetPathFromIDList ID, SRet
SRet = Left(SRet, InStr(SRet, vbNullChar) - 1)
Carpetas = SRet
End If
End Function
Il se pourrait qu'il manque quelque chosse, dans ce cas envouyez-moi
un mail a ipeque90@bancoestado.cl (au Chili)
Hello Ivan merci pour ta réponse et le temps consacré entre temps j'avais fait ceci : (similaire) il fait beau au chili? ici (belgique) maussade
Private _ Type BrowseInfo hWndOwner As Long pIDLRoot As Long pszDisplayName As Long lpszTitle As Long ulFlags As Long lpfnCallback As Long lParam As Long iImage As Long End Type
Public Function SelectFolder(Titre As String, Handle As Long) As String 'sélectionne un répertoire Dim lpIDList As Long Dim strBuffer As String Dim strTitre As String Dim tBrowseInfo As BrowseInfo
strTitre = Titre With tBrowseInfo .hWndOwner = Handle .lpszTitle = lstrcat(strTitre, "") .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN End With
lpIDList = SHBrowseForFolder(tBrowseInfo)
If (lpIDList) Then strBuffer = String(260, vbNullChar) SHGetPathFromIDList lpIDList, strBuffer SelectFolder = left(strBuffer, InStr(strBuffer, vbNullChar) - 1) End If
End Function
"Ivan Pequeño" a écrit dans le message de news:
Attention je nái pas un clavier francais, donc les accents...ce que je peux
Bonjour Dans la section déclarations
Private _ Type BrowseInfo hWndOwner As Long pIDLRoot As Long pszDisplayName As Long lpszTitle As Long ulFlags As Long lpfnCallback As Long lParam As Long iImage As Long End Type
Private _ Declare Function SHBrowseForFolder& _ Lib "shell32" _ (lpbi As BrowseInfo)
Public Function Carpetas(ObjFrm As Object, Optional Titulo$) As String
Dim ID As Long
Dim SRet As String, _ Titre As String
Dim Barre As BrowseInfo
Titre = IIf(Len(Titulo$) = 0, "Carpetas", Titulo$)
With Barre .hWndOwner = ObjFrm.hwnd .lpszTitle = LStrCat(Titre, "") .ulFlags = BIF_RETURNONLYFSDIRS _ + BIF_DONTGOBELOWDOMAIN End With
ID = SHBrowseForFolder(Barre)
If ID Then SRet = Space(MAX_PATH) SHGetPathFromIDList ID, SRet SRet = Left(SRet, InStr(SRet, vbNullChar) - 1) Carpetas = SRet End If
End Function
Il se pourrait qu'il manque quelque chosse, dans ce cas envouyez-moi un mail a (au Chili)
j'espére que ceci vous sera dútilité
Ivan Pequeño
Ravi que ca aie pu t'aider
Nous sommes en plein hiver et il fait dans les 18 degrées
c'est de la folie
á +
"Pascal" escribió:
Hello Ivan merci pour ta réponse et le temps consacré entre temps j'avais fait ceci : (similaire) il fait beau au chili? ici (belgique) maussade
Private _ Type BrowseInfo hWndOwner As Long pIDLRoot As Long pszDisplayName As Long lpszTitle As Long ulFlags As Long lpfnCallback As Long lParam As Long iImage As Long End Type
Public Function SelectFolder(Titre As String, Handle As Long) As String 'sélectionne un répertoire Dim lpIDList As Long Dim strBuffer As String Dim strTitre As String Dim tBrowseInfo As BrowseInfo
strTitre = Titre With tBrowseInfo .hWndOwner = Handle .lpszTitle = lstrcat(strTitre, "") .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN End With
lpIDList = SHBrowseForFolder(tBrowseInfo)
If (lpIDList) Then strBuffer = String(260, vbNullChar) SHGetPathFromIDList lpIDList, strBuffer SelectFolder = left(strBuffer, InStr(strBuffer, vbNullChar) - 1) End If
End Function
"Ivan Pequeño" a écrit dans le message de news: > Attention > je nái pas un clavier francais, donc les accents...ce que je peux > > Bonjour > Dans la section déclarations > > Private _ > Type BrowseInfo > hWndOwner As Long > pIDLRoot As Long > pszDisplayName As Long > lpszTitle As Long > ulFlags As Long > lpfnCallback As Long > lParam As Long > iImage As Long > End Type > > Private _ > Declare Function SHBrowseForFolder& _ > Lib "shell32" _ > (lpbi As BrowseInfo) > > > > > Public Function Carpetas(ObjFrm As Object, Optional Titulo$) As String > > Dim ID As Long > > Dim SRet As String, _ > Titre As String > > Dim Barre As BrowseInfo > > Titre = IIf(Len(Titulo$) = 0, "Carpetas", Titulo$) > > With Barre > .hWndOwner = ObjFrm.hwnd > .lpszTitle = LStrCat(Titre, "") > .ulFlags = BIF_RETURNONLYFSDIRS _ > + BIF_DONTGOBELOWDOMAIN > End With > > ID = SHBrowseForFolder(Barre) > > If ID Then > SRet = Space(MAX_PATH) > SHGetPathFromIDList ID, SRet > SRet = Left(SRet, InStr(SRet, vbNullChar) - 1) > Carpetas = SRet > End If > > End Function > > Il se pourrait qu'il manque quelque chosse, dans ce cas envouyez-moi > un mail a (au Chili) > > j'espére que ceci vous sera dútilité > >
Ravi que ca aie pu t'aider
Nous sommes en plein hiver
et il fait dans les 18 degrées
c'est de la folie
á +
"Pascal" escribió:
Hello Ivan
merci pour ta réponse et le temps consacré
entre temps j'avais fait ceci : (similaire)
il fait beau au chili? ici (belgique) maussade
Private _
Type BrowseInfo
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Public Function SelectFolder(Titre As String, Handle As Long) As String
'sélectionne un répertoire
Dim lpIDList As Long
Dim strBuffer As String
Dim strTitre As String
Dim tBrowseInfo As BrowseInfo
strTitre = Titre
With tBrowseInfo
.hWndOwner = Handle
.lpszTitle = lstrcat(strTitre, "")
.ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
End With
lpIDList = SHBrowseForFolder(tBrowseInfo)
If (lpIDList) Then
strBuffer = String(260, vbNullChar)
SHGetPathFromIDList lpIDList, strBuffer
SelectFolder = left(strBuffer, InStr(strBuffer, vbNullChar) - 1)
End If
End Function
"Ivan Pequeño" <IvanPequeo@discussions.microsoft.com> a écrit dans le
message de news:D9BE739A-D954-49C3-863D-A69B57A88BC1@microsoft.com...
> Attention
> je nái pas un clavier francais, donc les accents...ce que je peux
>
> Bonjour
> Dans la section déclarations
>
> Private _
> Type BrowseInfo
> hWndOwner As Long
> pIDLRoot As Long
> pszDisplayName As Long
> lpszTitle As Long
> ulFlags As Long
> lpfnCallback As Long
> lParam As Long
> iImage As Long
> End Type
>
> Private _
> Declare Function SHBrowseForFolder& _
> Lib "shell32" _
> (lpbi As BrowseInfo)
>
>
>
>
> Public Function Carpetas(ObjFrm As Object, Optional Titulo$) As String
>
> Dim ID As Long
>
> Dim SRet As String, _
> Titre As String
>
> Dim Barre As BrowseInfo
>
> Titre = IIf(Len(Titulo$) = 0, "Carpetas", Titulo$)
>
> With Barre
> .hWndOwner = ObjFrm.hwnd
> .lpszTitle = LStrCat(Titre, "")
> .ulFlags = BIF_RETURNONLYFSDIRS _
> + BIF_DONTGOBELOWDOMAIN
> End With
>
> ID = SHBrowseForFolder(Barre)
>
> If ID Then
> SRet = Space(MAX_PATH)
> SHGetPathFromIDList ID, SRet
> SRet = Left(SRet, InStr(SRet, vbNullChar) - 1)
> Carpetas = SRet
> End If
>
> End Function
>
> Il se pourrait qu'il manque quelque chosse, dans ce cas envouyez-moi
> un mail a ipeque90@bancoestado.cl (au Chili)
>
> j'espére que ceci vous sera dútilité
>
>
Nous sommes en plein hiver et il fait dans les 18 degrées
c'est de la folie
á +
"Pascal" escribió:
Hello Ivan merci pour ta réponse et le temps consacré entre temps j'avais fait ceci : (similaire) il fait beau au chili? ici (belgique) maussade
Private _ Type BrowseInfo hWndOwner As Long pIDLRoot As Long pszDisplayName As Long lpszTitle As Long ulFlags As Long lpfnCallback As Long lParam As Long iImage As Long End Type
Public Function SelectFolder(Titre As String, Handle As Long) As String 'sélectionne un répertoire Dim lpIDList As Long Dim strBuffer As String Dim strTitre As String Dim tBrowseInfo As BrowseInfo
strTitre = Titre With tBrowseInfo .hWndOwner = Handle .lpszTitle = lstrcat(strTitre, "") .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN End With
lpIDList = SHBrowseForFolder(tBrowseInfo)
If (lpIDList) Then strBuffer = String(260, vbNullChar) SHGetPathFromIDList lpIDList, strBuffer SelectFolder = left(strBuffer, InStr(strBuffer, vbNullChar) - 1) End If
End Function
"Ivan Pequeño" a écrit dans le message de news: > Attention > je nái pas un clavier francais, donc les accents...ce que je peux > > Bonjour > Dans la section déclarations > > Private _ > Type BrowseInfo > hWndOwner As Long > pIDLRoot As Long > pszDisplayName As Long > lpszTitle As Long > ulFlags As Long > lpfnCallback As Long > lParam As Long > iImage As Long > End Type > > Private _ > Declare Function SHBrowseForFolder& _ > Lib "shell32" _ > (lpbi As BrowseInfo) > > > > > Public Function Carpetas(ObjFrm As Object, Optional Titulo$) As String > > Dim ID As Long > > Dim SRet As String, _ > Titre As String > > Dim Barre As BrowseInfo > > Titre = IIf(Len(Titulo$) = 0, "Carpetas", Titulo$) > > With Barre > .hWndOwner = ObjFrm.hwnd > .lpszTitle = LStrCat(Titre, "") > .ulFlags = BIF_RETURNONLYFSDIRS _ > + BIF_DONTGOBELOWDOMAIN > End With > > ID = SHBrowseForFolder(Barre) > > If ID Then > SRet = Space(MAX_PATH) > SHGetPathFromIDList ID, SRet > SRet = Left(SRet, InStr(SRet, vbNullChar) - 1) > Carpetas = SRet > End If > > End Function > > Il se pourrait qu'il manque quelque chosse, dans ce cas envouyez-moi > un mail a (au Chili) > > j'espére que ceci vous sera dútilité > >
Gloops
Salut,
Voilà un site qui pourrait être intéressant, pour affiner certains aspects des boîtes de dialogue système. http://vbnet.mvps.org/
On trouve aussi des adresses intéressantes là : http://www.mvps.org/links.html#VisualBasic
Dans le midi de la France, l'autre jour j'ai entendu dire "Agen 15 degrés, temps doux pour la saison". Je trouvais le gars pince-sans-rire.
ça changeait du mois de Juillet, où on dépassait tranquillement 30 degrés, il y a même des gens qui avaient du mal à supporter. _____________________________________ Le 16/08/2006 16:54, Pascal a écrit :
Bonjour à tous et toutes,
je sais comment utiliser le common dialog 6 (boite OUVRIR) pour récupérer un nom de fichier texte ou autre mais ne sais comment récupérer le nom du dossier
En effet la boite Ouvrir oblige à descendre toute l'arborescence moi je désirerai pouvoir m'arreter avant et récuperer le nom du dossier Petit exemple vaut mieux qu'un long discours: dans C:MonProgVal1CotesJuin.txt j'aimerai récupérer uniquement C:MonProgVal1Cotes Comment faire?
merci de votre aide, idée
Pascal
Salut,
Voilà un site qui pourrait être intéressant, pour affiner certains
aspects des boîtes de dialogue système.
http://vbnet.mvps.org/
On trouve aussi des adresses intéressantes là :
http://www.mvps.org/links.html#VisualBasic
Dans le midi de la France, l'autre jour j'ai entendu dire "Agen 15
degrés, temps doux pour la saison". Je trouvais le gars pince-sans-rire.
ça changeait du mois de Juillet, où on dépassait tranquillement 30
degrés, il y a même des gens qui avaient du mal à supporter.
_____________________________________
Le 16/08/2006 16:54, Pascal a écrit :
Bonjour à tous et toutes,
je sais comment utiliser le common dialog 6 (boite OUVRIR) pour récupérer un
nom de fichier texte ou autre mais ne sais comment récupérer le nom du
dossier
En effet la boite Ouvrir oblige à descendre toute l'arborescence
moi je désirerai pouvoir m'arreter avant et récuperer le nom du dossier
Petit exemple vaut mieux qu'un long discours:
dans C:MonProgVal1CotesJuin.txt
j'aimerai récupérer uniquement C:MonProgVal1Cotes
Comment faire?
Voilà un site qui pourrait être intéressant, pour affiner certains aspects des boîtes de dialogue système. http://vbnet.mvps.org/
On trouve aussi des adresses intéressantes là : http://www.mvps.org/links.html#VisualBasic
Dans le midi de la France, l'autre jour j'ai entendu dire "Agen 15 degrés, temps doux pour la saison". Je trouvais le gars pince-sans-rire.
ça changeait du mois de Juillet, où on dépassait tranquillement 30 degrés, il y a même des gens qui avaient du mal à supporter. _____________________________________ Le 16/08/2006 16:54, Pascal a écrit :
Bonjour à tous et toutes,
je sais comment utiliser le common dialog 6 (boite OUVRIR) pour récupérer un nom de fichier texte ou autre mais ne sais comment récupérer le nom du dossier
En effet la boite Ouvrir oblige à descendre toute l'arborescence moi je désirerai pouvoir m'arreter avant et récuperer le nom du dossier Petit exemple vaut mieux qu'un long discours: dans C:MonProgVal1CotesJuin.txt j'aimerai récupérer uniquement C:MonProgVal1Cotes Comment faire?