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