2016-08-10 1 views
-1

J'essaie d'utiliser VBA pour enregistrer un fichier sur le bureau d'un utilisateur. J'ai trouvé des gens qui demandent des choses similaires sur ce site et d'autres et les réponses recommandent habituellement en utilisant la fonction suivante pour obtenir le chemin du fichier du bureau de l'utilisateurProblèmes d'accès au bureau de l'utilisateur à l'aide de VBA

Environment.GetFolderPath (Environment.SpecialFolder.Desktop)

Cependant, J'ai essayé ceci et tout ce que je reçois est une erreur 424 Objet requis. La feuille de calcul, je suis en train d'ajouter à est longue et complexe, donc je créé une nouvelle feuille avec juste la section du code que je me suis intéressé à.

Sub TestMacro() 

Dim Testy As String 

Testy = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) 

MsgBox Testy 

End Sub 

Quand je lance cette macro je reçois encore une erreur requise 424 objet . Est-ce que je fais quelque chose de mal? Ou y a-t-il quelque chose de verrouillé dans mon environnement de bureau qui m'empêche d'utiliser cette commande?

Toute aide appréciée.

+2

Essayez ceci: 'MsgBox CreateObject ("WScript.Shell") Les specialfolders (le "Bureau")' – Andreas

+1

Ou:. 'MsgBox Environ ("USERPROFILE") et « \ Desktop "' l'un d'eux devrait fonctionner – Andreas

+1

Copie possible de [VBA: Comment enregistrer un classeur Excel sur le bureau quel que soit l'utilisateur?] (http://stackoverflow.com/questions/17551238/vba-how-to-save-excel-workbook -to-desktop-whatever-of-user) – DragonSamu

Répondre

-1

Essayez avec le code ci-dessous

Sub TestMacro() 
    Set oWSHShell = CreateObject("WScript.Shell") 
    MsgBox (oWSHShell.SpecialFolders("Desktop")) 
End Sub 
+0

Selon la question ci-dessus, le code ci-dessus fonctionnera. 'Environment.GetFolderPath' n'est pas une VBA –