There's a bunch of Namespace options, but this gets the current user's desktop


Option Explicit

Sub test()
    MsgBox Desktop_Path
End Sub

Function Desktop_Path() As String
    Const sf_DESKTOP As Variant = 0
    Desktop_Path = CreateObject("Shell.Application").Namespace(sf_DESKTOP).Self.Path
End Function