Cesta ke složce Dokumenty

Stává se, že potřebujete znát cestu ke složce Dokumenty. Typickým příkladem je potřeba tisku našeho souboru XLS do souboru PDF do nějaké předvolené složky nebo si chceme přímo v dialogu pro uložení souboru vybrat složku do které soubor PDF uložíme.  Program pro tisk do PDF nastavíme tak, aby tisknul do složky Dokumenty a spouštíme ho z naší aplikace XLS. O přemístění souboru PDF, přejmenování na vhodný název, případně odstranění původního PDF souboru ze složky Dokumenty se postará náš kód ( postup uvádím v článku  Tisk do PDF souboru ) . Bohužel to má jeden háček. Složka Dokumenty je v různých verzích OS umístěna různě. V uváděném článku a ukázkovém souboru jsem použil cestu ke složce Dokumenty definouvanou v nějaké buňce a náš kód si jí přečetl. Pátral jsem a našel efektivnější řešení v diskuzích na netu a po úpravě předkádám funkci, která vrací právě cestu ke složce Dokumenty. Stačí si funkci zkopírovat do vaší aplikace.

Function CestaKeSlozceDokumenty() As String

    Dim objFSO As Object

    Dim objShell As Object

    Dim objFolder As Object

    Dim objFolderItem As Object

    Const MY_DOCUMENTS = &H5&

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    Set objShell = CreateObject("Shell.Application")

    Set objFolder = objShell.Namespace(MY_DOCUMENTS)

    Set objFolderItem = objFolder.Self

    CestaKeSlozceDokumenty = objFolderItem.Path

End Function

Zpět na hlavní stránku