Si la session "Toto" n'existe pas, la seule chose que je sais faire
c'est un test qui, le cas échéant, me renverra vers Documents and
Settings (ie).
Y a-t-il un moyen d'accéder au Bureau de la session à partir de
laquelle on lance la macro, quel que soit le nom de la dite session ?
(Je pense à l'utilisation de "%")
Sub CheminRepertoiresBureau() Dim objShell As Object Dim objFolder As Object, objFolderItem As Object Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.NameSpace(&H10) Set objFolderItem = objFolder.Self MsgBox objFolderItem.Path End Sub
isabelle
j-pascal a écrit :
Bonsoir,
ChDir "C:Documents and SettingstotoBureau"
Si la session "Toto" n'existe pas, la seule chose que je sais faire c'est un test qui, le cas échéant, me renverra vers Documents and Settings (ie).
Y a-t-il un moyen d'accéder au Bureau de la session à partir de laquelle on lance la macro, quel que soit le nom de la dite session ? (Je pense à l'utilisation de "%")
Merci pour vos lumières,
JP
bonjour Jp,
Sub CheminRepertoiresBureau()
Dim objShell As Object
Dim objFolder As Object, objFolderItem As Object
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(&H10)
Set objFolderItem = objFolder.Self
MsgBox objFolderItem.Path
End Sub
isabelle
j-pascal a écrit :
Bonsoir,
ChDir "C:Documents and SettingstotoBureau"
Si la session "Toto" n'existe pas, la seule chose que je sais faire
c'est un test qui, le cas échéant, me renverra vers Documents and
Settings (ie).
Y a-t-il un moyen d'accéder au Bureau de la session à partir de
laquelle on lance la macro, quel que soit le nom de la dite session ?
(Je pense à l'utilisation de "%")
Sub CheminRepertoiresBureau() Dim objShell As Object Dim objFolder As Object, objFolderItem As Object Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.NameSpace(&H10) Set objFolderItem = objFolder.Self MsgBox objFolderItem.Path End Sub
isabelle
j-pascal a écrit :
Bonsoir,
ChDir "C:Documents and SettingstotoBureau"
Si la session "Toto" n'existe pas, la seule chose que je sais faire c'est un test qui, le cas échéant, me renverra vers Documents and Settings (ie).
Y a-t-il un moyen d'accéder au Bureau de la session à partir de laquelle on lance la macro, quel que soit le nom de la dite session ? (Je pense à l'utilisation de "%")
Merci pour vos lumières,
JP
j-pascal
Bonjour Isabelle,
Ouahh, ça ne s'invente pas ! Bon, je renonce à ne pas utiliser tous les codes que je ne comprends pas, car j'ai vraiment besoin de celui-ci ! ;-)
Un grand merci
JP
bonjour Jp,
Sub CheminRepertoiresBureau() Dim objShell As Object Dim objFolder As Object, objFolderItem As Object Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.NameSpace(&H10) Set objFolderItem = objFolder.Self MsgBox objFolderItem.Path End Sub
isabelle
j-pascal a écrit :
Bonsoir,
ChDir "C:Documents and SettingstotoBureau"
Si la session "Toto" n'existe pas, la seule chose que je sais faire c'est un test qui, le cas échéant, me renverra vers Documents and Settings (ie).
Y a-t-il un moyen d'accéder au Bureau de la session à partir de laquelle on lance la macro, quel que soit le nom de la dite session ? (Je pense à l'utilisation de "%")
Merci pour vos lumières,
JP
Bonjour Isabelle,
Ouahh, ça ne s'invente pas !
Bon, je renonce à ne pas utiliser tous les codes que je ne comprends
pas, car j'ai vraiment besoin de celui-ci ! ;-)
Un grand merci
JP
bonjour Jp,
Sub CheminRepertoiresBureau()
Dim objShell As Object
Dim objFolder As Object, objFolderItem As Object
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(&H10)
Set objFolderItem = objFolder.Self
MsgBox objFolderItem.Path
End Sub
isabelle
j-pascal a écrit :
Bonsoir,
ChDir "C:Documents and SettingstotoBureau"
Si la session "Toto" n'existe pas, la seule chose que je sais faire c'est
un test qui, le cas échéant, me renverra vers Documents and Settings (ie).
Y a-t-il un moyen d'accéder au Bureau de la session à partir de laquelle on
lance la macro, quel que soit le nom de la dite session ? (Je pense à
l'utilisation de "%")
Ouahh, ça ne s'invente pas ! Bon, je renonce à ne pas utiliser tous les codes que je ne comprends pas, car j'ai vraiment besoin de celui-ci ! ;-)
Un grand merci
JP
bonjour Jp,
Sub CheminRepertoiresBureau() Dim objShell As Object Dim objFolder As Object, objFolderItem As Object Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.NameSpace(&H10) Set objFolderItem = objFolder.Self MsgBox objFolderItem.Path End Sub
isabelle
j-pascal a écrit :
Bonsoir,
ChDir "C:Documents and SettingstotoBureau"
Si la session "Toto" n'existe pas, la seule chose que je sais faire c'est un test qui, le cas échéant, me renverra vers Documents and Settings (ie).
Y a-t-il un moyen d'accéder au Bureau de la session à partir de laquelle on lance la macro, quel que soit le nom de la dite session ? (Je pense à l'utilisation de "%")
Merci pour vos lumières,
JP
MichDenis
Bonjour J-Pascal,
La suggestion d'Isabelle en plus court :
'---------------------------- Sub ObtenirCheminDuBureau()
Dim Obj As Object Set Obj = CreateObject("WScript.Shell") MsgBox Obj.SpecialFolders("Desktop")
End Sub '----------------------------
"j-pascal" a écrit dans le message de groupe de discussion : Bonsoir,
ChDir "C:Documents and SettingstotoBureau"
Si la session "Toto" n'existe pas, la seule chose que je sais faire c'est un test qui, le cas échéant, me renverra vers Documents and Settings (ie).
Y a-t-il un moyen d'accéder au Bureau de la session à partir de laquelle on lance la macro, quel que soit le nom de la dite session ? (Je pense à l'utilisation de "%")
Merci pour vos lumières,
JP
Bonjour J-Pascal,
La suggestion d'Isabelle en plus court :
'----------------------------
Sub ObtenirCheminDuBureau()
Dim Obj As Object
Set Obj = CreateObject("WScript.Shell")
MsgBox Obj.SpecialFolders("Desktop")
End Sub
'----------------------------
"j-pascal" <messages@venir.com> a écrit dans le message de groupe de discussion : mn.6d4b7d94876158af.81386@venir.com...
Bonsoir,
ChDir "C:Documents and SettingstotoBureau"
Si la session "Toto" n'existe pas, la seule chose que je sais faire
c'est un test qui, le cas échéant, me renverra vers Documents and
Settings (ie).
Y a-t-il un moyen d'accéder au Bureau de la session à partir de
laquelle on lance la macro, quel que soit le nom de la dite session ?
(Je pense à l'utilisation de "%")
'---------------------------- Sub ObtenirCheminDuBureau()
Dim Obj As Object Set Obj = CreateObject("WScript.Shell") MsgBox Obj.SpecialFolders("Desktop")
End Sub '----------------------------
"j-pascal" a écrit dans le message de groupe de discussion : Bonsoir,
ChDir "C:Documents and SettingstotoBureau"
Si la session "Toto" n'existe pas, la seule chose que je sais faire c'est un test qui, le cas échéant, me renverra vers Documents and Settings (ie).
Y a-t-il un moyen d'accéder au Bureau de la session à partir de laquelle on lance la macro, quel que soit le nom de la dite session ? (Je pense à l'utilisation de "%")
Merci pour vos lumières,
JP
j-pascal
Bonsoir,
Un véritable "couteau suisse". Je retiens tes 2 propositions mais plus spécialement la précédente car je vais en avoir souvent besoin.
Merci
JP
Il y a aussi ceci :
'Déclaration des constantes et API dans le haut d'un module standard Public Const NOERROR = 0 Public Const MAXPATH = 260 Public Const FldrDeskTop1 = &H0 Public Const FldrStartMenuPrograms = &H2 Public Const FldrMyDocuments = &H5 Public Const FldrFavorites = &H6 Public Const FldrStartMenuProgramsStartUp = &H7 Public Const FldrRecent = &H8 Public Const FldrSendTo = &H9 Public Const FldrStartMenu = &HB Public Const FldrDeskTop2 = &H10 Public Const FldrNetHood = &H13 Public Const FldrFonts = &H14 Public Const FldrShellNew = &H15
Public Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" _ (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As Long) As Long Public Declare Function SHGetPathFromIDList Lib "shell32" _ (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Cette fonction fut publiée par : 'Daniel Lewis, mpep '------------------------------------- Public Function GetSpecialFolder(CSIDL As Long) As String Dim Result As Long Dim sPath As String Dim pidl As Long Result = SHGetSpecialFolderLocation(0, CSIDL, pidl) If Result = NOERROR Then sPath = Space(MAXPATH) Result = SHGetPathFromIDList(ByVal pidl, ByVal sPath) If Result Then GetSpecialFolder = Left(sPath, InStr(sPath, Chr(0)) - 1) End If End If End Function '-------------------------------------
'Dans la procédure suivante tu n'as qu'à remplacer le nom de la constante pour une 'constante définie plus haut pour obtenir le chemin du répertoire désiré.
'C'est un peu plus long mais c'est plus que du bonbon ! ;-)) '------------------------------- Sub test() MsgBox GetSpecialFolder(FldrStartMenuProgramsStartUp) End Sub '-------------------------------
Bonsoir,
Un véritable "couteau suisse". Je retiens tes 2 propositions mais plus
spécialement la précédente car je vais en avoir souvent besoin.
Merci
JP
Il y a aussi ceci :
'Déclaration des constantes et API dans le haut d'un module standard
Public Const NOERROR = 0
Public Const MAXPATH = 260
Public Const FldrDeskTop1 = &H0
Public Const FldrStartMenuPrograms = &H2
Public Const FldrMyDocuments = &H5
Public Const FldrFavorites = &H6
Public Const FldrStartMenuProgramsStartUp = &H7
Public Const FldrRecent = &H8
Public Const FldrSendTo = &H9
Public Const FldrStartMenu = &HB
Public Const FldrDeskTop2 = &H10
Public Const FldrNetHood = &H13
Public Const FldrFonts = &H14
Public Const FldrShellNew = &H15
Public Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" _
(ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As Long) As Long
Public Declare Function SHGetPathFromIDList Lib "shell32" _
(ByVal pidList As Long, ByVal lpBuffer As String) As Long
Cette fonction fut publiée par : 'Daniel Lewis, mpep
'-------------------------------------
Public Function GetSpecialFolder(CSIDL As Long) As String
Dim Result As Long
Dim sPath As String
Dim pidl As Long
Result = SHGetSpecialFolderLocation(0, CSIDL, pidl)
If Result = NOERROR Then
sPath = Space(MAXPATH)
Result = SHGetPathFromIDList(ByVal pidl, ByVal sPath)
If Result Then
GetSpecialFolder = Left(sPath, InStr(sPath, Chr(0)) - 1)
End If
End If
End Function
'-------------------------------------
'Dans la procédure suivante tu n'as qu'à remplacer le nom de la constante
pour une 'constante définie plus haut pour obtenir le chemin du répertoire
désiré.
'C'est un peu plus long mais c'est plus que du bonbon ! ;-))
'-------------------------------
Sub test()
MsgBox GetSpecialFolder(FldrStartMenuProgramsStartUp)
End Sub
'-------------------------------
Un véritable "couteau suisse". Je retiens tes 2 propositions mais plus spécialement la précédente car je vais en avoir souvent besoin.
Merci
JP
Il y a aussi ceci :
'Déclaration des constantes et API dans le haut d'un module standard Public Const NOERROR = 0 Public Const MAXPATH = 260 Public Const FldrDeskTop1 = &H0 Public Const FldrStartMenuPrograms = &H2 Public Const FldrMyDocuments = &H5 Public Const FldrFavorites = &H6 Public Const FldrStartMenuProgramsStartUp = &H7 Public Const FldrRecent = &H8 Public Const FldrSendTo = &H9 Public Const FldrStartMenu = &HB Public Const FldrDeskTop2 = &H10 Public Const FldrNetHood = &H13 Public Const FldrFonts = &H14 Public Const FldrShellNew = &H15
Public Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" _ (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As Long) As Long Public Declare Function SHGetPathFromIDList Lib "shell32" _ (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Cette fonction fut publiée par : 'Daniel Lewis, mpep '------------------------------------- Public Function GetSpecialFolder(CSIDL As Long) As String Dim Result As Long Dim sPath As String Dim pidl As Long Result = SHGetSpecialFolderLocation(0, CSIDL, pidl) If Result = NOERROR Then sPath = Space(MAXPATH) Result = SHGetPathFromIDList(ByVal pidl, ByVal sPath) If Result Then GetSpecialFolder = Left(sPath, InStr(sPath, Chr(0)) - 1) End If End If End Function '-------------------------------------
'Dans la procédure suivante tu n'as qu'à remplacer le nom de la constante pour une 'constante définie plus haut pour obtenir le chemin du répertoire désiré.
'C'est un peu plus long mais c'est plus que du bonbon ! ;-)) '------------------------------- Sub test() MsgBox GetSpecialFolder(FldrStartMenuProgramsStartUp) End Sub '-------------------------------