voila mon probleme j'utilise le code suivant pour adresser des boites de
dialogues pour adresser des noms de dossiers et de fichiers.
le systeme me renvoie bien des noms de dossiers quand j'utilise la constante
NO_OPTIONS=0 mais des que je change la constante pour qu'il me retourne des
noms de fichiers ( &h4000& ) il me renvoie une erreur indiquant que le nom de
fichier n'existe pas.
pourquoi ?
Const WINDOW_HANDLE = 0
Const NO_OPTIONS = 0
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(WINDOW_HANDLE, "Select a folder:",
NO_OPTIONS, "C:\")
Set objFolderItem = objFolder.Self
objPath = objFolderItem.Path
wscript.echo objpath
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
Gilles LAURENT
"pascal leclercq" a écrit dans le message de news: Bonjour,
| voila mon probleme j'utilise le code suivant pour adresser des boites | de dialogues pour adresser des noms de dossiers et de fichiers. | le systeme me renvoie bien des noms de dossiers quand j'utilise la | constante NO_OPTIONS=0 mais des que je change la constante pour qu'il | me retourne des noms de fichiers ( &h4000& ) il me renvoie une erreur | indiquant que le nom de fichier n'existe pas. | pourquoi ?
Tout simplement parce que le comportement avec l'option BIF_BROWSEINCLUDEFILES est buggée sous XP. Une solution de contournement consiste à utiliser l'objet UserAccounts.CommonDialog :
--- Coupez ici : BrowseForFile.vbs --- Function BrowseForFile (strStartPath)
Set oDialog = CreateObject ("UserAccounts.CommonDialog") With oDialog .Filter = "All Files|*.*" .FilterIndex = 1 .InitialDir = strStartPath iRet = .ShowOpen If iRet = 0 Then BrowseForFile = "" Else BrowseForFile = .FileName End If End With
"pascal leclercq" <pascalleclercq@discussions.microsoft.com> a écrit
dans le message de
news:C301C7C0-F038-45A8-88DD-6E9376C9F848@microsoft.com
Bonjour,
| voila mon probleme j'utilise le code suivant pour adresser des boites
| de dialogues pour adresser des noms de dossiers et de fichiers.
| le systeme me renvoie bien des noms de dossiers quand j'utilise la
| constante NO_OPTIONS=0 mais des que je change la constante pour qu'il
| me retourne des noms de fichiers ( &h4000& ) il me renvoie une erreur
| indiquant que le nom de fichier n'existe pas.
| pourquoi ?
Tout simplement parce que le comportement avec l'option
BIF_BROWSEINCLUDEFILES est buggée sous XP. Une solution de contournement
consiste à utiliser l'objet UserAccounts.CommonDialog :
--- Coupez ici : BrowseForFile.vbs ---
Function BrowseForFile (strStartPath)
Set oDialog = CreateObject ("UserAccounts.CommonDialog")
With oDialog
.Filter = "All Files|*.*"
.FilterIndex = 1
.InitialDir = strStartPath
iRet = .ShowOpen
If iRet = 0 Then
BrowseForFile = ""
Else
BrowseForFile = .FileName
End If
End With
"pascal leclercq" a écrit dans le message de news: Bonjour,
| voila mon probleme j'utilise le code suivant pour adresser des boites | de dialogues pour adresser des noms de dossiers et de fichiers. | le systeme me renvoie bien des noms de dossiers quand j'utilise la | constante NO_OPTIONS=0 mais des que je change la constante pour qu'il | me retourne des noms de fichiers ( &h4000& ) il me renvoie une erreur | indiquant que le nom de fichier n'existe pas. | pourquoi ?
Tout simplement parce que le comportement avec l'option BIF_BROWSEINCLUDEFILES est buggée sous XP. Une solution de contournement consiste à utiliser l'objet UserAccounts.CommonDialog :
--- Coupez ici : BrowseForFile.vbs --- Function BrowseForFile (strStartPath)
Set oDialog = CreateObject ("UserAccounts.CommonDialog") With oDialog .Filter = "All Files|*.*" .FilterIndex = 1 .InitialDir = strStartPath iRet = .ShowOpen If iRet = 0 Then BrowseForFile = "" Else BrowseForFile = .FileName End If End With