دونالد در حال نوشتن یک ماکرو است که در آن باید به دسکتاپ کاربران ارجاع دهد. با این حال، مسیر دسکتاپ لزوما از سیستمی به سیستم دیگر و کاربر به کاربر دیگر متفاوت است. او متعجب است که از چه کدنویسی می تواند برای تعیین مسیر دسکتاپ صرف نظر از سیستم استفاده کند.
راه های مختلفی برای یافتن مسیر دسکتاپ در VBA وجود دارد. یکی از راه ها فراخوانی میزبان برنامه نویسی ویندوز به این صورت است:
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"