Дональд пишет макрос, в котором ему нужно ссылаться на рабочий стол пользователя. Однако путь к рабочему столу обязательно варьируется от системы к системе и от пользователя к пользователю. Ему интересно, какую кодировку он может использовать для определения пути к рабочему столу независимо от системы.

Найти путь к рабочему столу в VBA можно несколькими способами. Один из способов — вызвать хост сценариев Windows следующим образом:

Function GetDesktop() As String     Dim oWSHShell As Object

Set oWSHShell = CreateObject("WScript.Shell")

GetDesktop = oWSHShell.SpecialFolders("Desktop")

Set oWSHShell = Nothing End Function

Обратите внимание, что это определяемый пользователем макрос, который можно использовать либо из рабочего листа, либо из другого макроса. Использование из рабочего листа будет следующим:

=GetDesktop()

Другой способ определить путь к рабочему столу — использовать в коде следующую строку:

sPath = Environ("USERPROFILE") & "\Desktop"

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (8233) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:

link: / excelribbon-Finding_the_Path_to_the_Desktop [Поиск пути к рабочему столу].