choix d'un répertoire, complément à la macro de J. Walkenbach
3 réponses
muprotaesve
Bonjour,
Question : comment faire passer un répertoire par défaut dans cette
macro ?
Je m'explique, dans la macro on trouve les lignes :
[...]
Function GetDirectory(Optional Msg) As String
Dim bInfo As BROWSEINFO
Dim path As String
Dim r As Long, x As Long, pos As Integer
'D finit le Bureau comme dossier racine
bInfo.pidlRoot = 0&
'Invite de la boite de
[...]
donc si je comprend bien, en modifiant le paramètre bInfo.pidlRoot je
devrais pouvoir choisir à partir de quel répertoire executer la boite
de dialogue.
Oui mais.... bInfo.pidlRoot est un entier long, or pour moi un
répertoire est un string....
J'ai tenté de passer un truc en remplaçant
path = Space$(512)
r = SHGetPathFromIDList(ByVal x, ByVal path)
par
'path = Space$(512)
path = "C:\mondossier"
path = path & Space$(512 - Len(path))
r = SHGetPathFromIDList(ByVal x, ByVal path)
Mais ça ne fonctionne pas.
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
Michel Pierron
Salut Jean; A ma connaissance, tu ne peux pas en utilisant cette fonction car pidRoot identifie l'un des répertoires spéciaux de Window. Si tu nous en disais plus sur ton souhait, il existe d'autres manières de faire... MP
"Jean" a écrit dans le message de news:
Bonjour,
Question : comment faire passer un répertoire par défaut dans cette macro ?
Je m'explique, dans la macro on trouve les lignes : [...] Function GetDirectory(Optional Msg) As String Dim bInfo As BROWSEINFO Dim path As String Dim r As Long, x As Long, pos As Integer
'D finit le Bureau comme dossier racine bInfo.pidlRoot = 0&
'Invite de la boite de [...]
donc si je comprend bien, en modifiant le paramètre bInfo.pidlRoot je devrais pouvoir choisir à partir de quel répertoire executer la boite de dialogue. Oui mais.... bInfo.pidlRoot est un entier long, or pour moi un répertoire est un string....
J'ai tenté de passer un truc en remplaçant path = Space$(512) r = SHGetPathFromIDList(ByVal x, ByVal path)
par 'path = Space$(512) path = "C:mondossier" path = path & Space$(512 - Len(path)) r = SHGetPathFromIDList(ByVal x, ByVal path) Mais ça ne fonctionne pas.
En vous remerciant par avance pour toute aide J
Salut Jean;
A ma connaissance, tu ne peux pas en utilisant cette fonction car pidRoot
identifie l'un des répertoires spéciaux de Window. Si tu nous en disais plus sur
ton souhait, il existe d'autres manières de faire...
MP
"Jean" <muprotaesve@jetable.com> a écrit dans le message de
news:9a1831d5.0308210049.262692cc@posting.google.com...
Bonjour,
Question : comment faire passer un répertoire par défaut dans cette
macro ?
Je m'explique, dans la macro on trouve les lignes :
[...]
Function GetDirectory(Optional Msg) As String
Dim bInfo As BROWSEINFO
Dim path As String
Dim r As Long, x As Long, pos As Integer
'D finit le Bureau comme dossier racine
bInfo.pidlRoot = 0&
'Invite de la boite de
[...]
donc si je comprend bien, en modifiant le paramètre bInfo.pidlRoot je
devrais pouvoir choisir à partir de quel répertoire executer la boite
de dialogue.
Oui mais.... bInfo.pidlRoot est un entier long, or pour moi un
répertoire est un string....
J'ai tenté de passer un truc en remplaçant
path = Space$(512)
r = SHGetPathFromIDList(ByVal x, ByVal path)
par
'path = Space$(512)
path = "C:mondossier"
path = path & Space$(512 - Len(path))
r = SHGetPathFromIDList(ByVal x, ByVal path)
Mais ça ne fonctionne pas.
Salut Jean; A ma connaissance, tu ne peux pas en utilisant cette fonction car pidRoot identifie l'un des répertoires spéciaux de Window. Si tu nous en disais plus sur ton souhait, il existe d'autres manières de faire... MP
"Jean" a écrit dans le message de news:
Bonjour,
Question : comment faire passer un répertoire par défaut dans cette macro ?
Je m'explique, dans la macro on trouve les lignes : [...] Function GetDirectory(Optional Msg) As String Dim bInfo As BROWSEINFO Dim path As String Dim r As Long, x As Long, pos As Integer
'D finit le Bureau comme dossier racine bInfo.pidlRoot = 0&
'Invite de la boite de [...]
donc si je comprend bien, en modifiant le paramètre bInfo.pidlRoot je devrais pouvoir choisir à partir de quel répertoire executer la boite de dialogue. Oui mais.... bInfo.pidlRoot est un entier long, or pour moi un répertoire est un string....
J'ai tenté de passer un truc en remplaçant path = Space$(512) r = SHGetPathFromIDList(ByVal x, ByVal path)
par 'path = Space$(512) path = "C:mondossier" path = path & Space$(512 - Len(path)) r = SHGetPathFromIDList(ByVal x, ByVal path) Mais ça ne fonctionne pas.
En vous remerciant par avance pour toute aide J
muprotaesve
Merci pour ta réponse.
en fait je voudrais simplement pouvoir proposer un répertoire par défaut histoire de ne pas repartir de "c:" à chaque fois que je lance la boite de dialogue.
A priori, j'ai vu qu'il y a une autre possibilité a partir .createobject("Shell.application") Et j'ai lu des macros ou la boite est exécutée à partir d'un répertoire donné comme paramètre. Mais le .createobject ne fonctionne pas chez moi, il manque certainement une référence à mon projet, mais laquelle ?
@+ "Michel Pierron" wrote in message news:...
Salut Jean; A ma connaissance, tu ne peux pas en utilisant cette fonction car pidRoot identifie l'un des répertoires spéciaux de Window. Si tu nous en disais plus sur ton souhait, il existe d'autres manières de faire... MP
"Jean" a écrit dans le message de news:
Bonjour,
Question : comment faire passer un répertoire par défaut dans cette macro ?
Merci pour ta réponse.
en fait je voudrais simplement pouvoir proposer un répertoire par
défaut histoire de ne pas repartir de "c:" à chaque fois que je lance
la boite de dialogue.
A priori, j'ai vu qu'il y a une autre possibilité a partir
.createobject("Shell.application")
Et j'ai lu des macros ou la boite est exécutée à partir d'un
répertoire donné comme paramètre.
Mais le .createobject ne fonctionne pas chez moi, il manque
certainement une référence à mon projet, mais laquelle ?
@+
"Michel Pierron" <mpierron@europtest.com> wrote in message news:<u08cfA9ZDHA.1680@tk2msftngp13.phx.gbl>...
Salut Jean;
A ma connaissance, tu ne peux pas en utilisant cette fonction car pidRoot
identifie l'un des répertoires spéciaux de Window. Si tu nous en disais plus sur
ton souhait, il existe d'autres manières de faire...
MP
"Jean" <muprotaesve@jetable.com> a écrit dans le message de
news:9a1831d5.0308210049.262692cc@posting.google.com...
Bonjour,
Question : comment faire passer un répertoire par défaut dans cette
macro ?
en fait je voudrais simplement pouvoir proposer un répertoire par défaut histoire de ne pas repartir de "c:" à chaque fois que je lance la boite de dialogue.
A priori, j'ai vu qu'il y a une autre possibilité a partir .createobject("Shell.application") Et j'ai lu des macros ou la boite est exécutée à partir d'un répertoire donné comme paramètre. Mais le .createobject ne fonctionne pas chez moi, il manque certainement une référence à mon projet, mais laquelle ?
@+ "Michel Pierron" wrote in message news:...
Salut Jean; A ma connaissance, tu ne peux pas en utilisant cette fonction car pidRoot identifie l'un des répertoires spéciaux de Window. Si tu nous en disais plus sur ton souhait, il existe d'autres manières de faire... MP
"Jean" a écrit dans le message de news:
Bonjour,
Question : comment faire passer un répertoire par défaut dans cette macro ?
Michel Pierron
Bonjour Jean; Remplace 0& par 5& et tu seras dans le répertoire Mes Documents. MP
"Jean" a écrit dans le message de news:
Merci pour ta réponse.
en fait je voudrais simplement pouvoir proposer un répertoire par défaut histoire de ne pas repartir de "c:" à chaque fois que je lance la boite de dialogue.
A priori, j'ai vu qu'il y a une autre possibilité a partir .createobject("Shell.application") Et j'ai lu des macros ou la boite est exécutée à partir d'un répertoire donné comme paramètre. Mais le .createobject ne fonctionne pas chez moi, il manque certainement une référence à mon projet, mais laquelle ?
@+ "Michel Pierron" wrote in message news:...
Salut Jean; A ma connaissance, tu ne peux pas en utilisant cette fonction car pidRoot
identifie l'un des répertoires spéciaux de Window. Si tu nous en disais plus sur
ton souhait, il existe d'autres manières de faire... MP
"Jean" a écrit dans le message de news:
Bonjour,
Question : comment faire passer un répertoire par défaut dans cette macro ?
Bonjour Jean;
Remplace 0& par 5& et tu seras dans le répertoire Mes Documents.
MP
"Jean" <muprotaesve@jetable.com> a écrit dans le message de
news:9a1831d5.0308212313.7d668080@posting.google.com...
Merci pour ta réponse.
en fait je voudrais simplement pouvoir proposer un répertoire par
défaut histoire de ne pas repartir de "c:" à chaque fois que je lance
la boite de dialogue.
A priori, j'ai vu qu'il y a une autre possibilité a partir
.createobject("Shell.application")
Et j'ai lu des macros ou la boite est exécutée à partir d'un
répertoire donné comme paramètre.
Mais le .createobject ne fonctionne pas chez moi, il manque
certainement une référence à mon projet, mais laquelle ?
@+
"Michel Pierron" <mpierron@europtest.com> wrote in message
news:<u08cfA9ZDHA.1680@tk2msftngp13.phx.gbl>...
Salut Jean;
A ma connaissance, tu ne peux pas en utilisant cette fonction car
pidRoot
identifie l'un des répertoires spéciaux de Window. Si tu nous en disais
plus sur
ton souhait, il existe d'autres manières de faire...
MP
"Jean" <muprotaesve@jetable.com> a écrit dans le message de
news:9a1831d5.0308210049.262692cc@posting.google.com...
Bonjour,
Question : comment faire passer un répertoire par défaut dans cette
macro ?
Bonjour Jean; Remplace 0& par 5& et tu seras dans le répertoire Mes Documents. MP
"Jean" a écrit dans le message de news:
Merci pour ta réponse.
en fait je voudrais simplement pouvoir proposer un répertoire par défaut histoire de ne pas repartir de "c:" à chaque fois que je lance la boite de dialogue.
A priori, j'ai vu qu'il y a une autre possibilité a partir .createobject("Shell.application") Et j'ai lu des macros ou la boite est exécutée à partir d'un répertoire donné comme paramètre. Mais le .createobject ne fonctionne pas chez moi, il manque certainement une référence à mon projet, mais laquelle ?
@+ "Michel Pierron" wrote in message news:...
Salut Jean; A ma connaissance, tu ne peux pas en utilisant cette fonction car pidRoot
identifie l'un des répertoires spéciaux de Window. Si tu nous en disais plus sur
ton souhait, il existe d'autres manières de faire... MP
"Jean" a écrit dans le message de news:
Bonjour,
Question : comment faire passer un répertoire par défaut dans cette macro ?