2016-08-10 12 views
-1

Я пытаюсь использовать VBA, чтобы сохранить файл на рабочем столе пользователя. Я нашел людей, запрашивающих подобные вещи на этом сайте, и другие, и ответы, как правило, рекомендуют использовать следующую функцию, чтобы получить путь к файлу рабочего стола пользователяПроблемы с доступом к пользовательскому рабочему столу с помощью VBA

Environment.GetFolderPath (Environment.SpecialFolder.Desktop)

Однако, Я попробовал это, и все, что я получаю, - это ошибка 424 объекта. Таблицы Я пытаюсь добавить это длинный и сложный, поэтому я создал новый лист с только секции кода я был заинтересован.

Sub TestMacro() 

Dim Testy As String 

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

MsgBox Testy 

End Sub 

Когда я запускаю этот макрос я все еще получаю требуемую ошибку в 424 объекта , Я делаю что-то неправильно? Или что-то заперто в моей офисной среде, не позволяя мне использовать эту команду?

Любая помощь приветствуется.

+2

Попробуйте это: 'MsgBox CreateObject ("WScript.Shell") specialfolders ("Desktop")' – Andreas

+1

Или:. 'MsgBox Environ ("USERPROFILE") &«\ Desktop «один из них должен работать – Andreas

+1

Возможный дубликат [VBA: как сохранить книгу Excel на рабочий стол, независимо от пользователя?] (http://stackoverflow.com/questions/17551238/vba-how-to-save-excel-workbook -to-desktop-независимо от пользователя) – DragonSamu

ответ

-1

Попробуйте с ниже код

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

Как и выше, выше код будет работать. 'Environment.GetFolderPath' не является VBA –