Snažím se udělat makro které by uložilo PDF na stejném místě jako je zdrojová tabulka pod stejným názvem jako je zdrojová tabulka.
Prakticky by to vypadlo stejně jako když kliknu na ikonku Přímý export do PDF a hned dal OK.
Už jsem dokázal aby si to načetlo místo souboru ale nedaří se mi aby si to ještě načetlo jméno souboru. Celkem mám pocit že to dělám hrozně složitě.
Sub ulozitPDF()
Dim ZdrojovySoubor As String
Dim CilovySoubor As String
Dim args1(1) As New com.sun.star.beans.PropertyValue
' Získání cesty k zdrojovému sešitu
Dim docURL As String
docURL = ThisComponent.getURL()
ZdrojovySoubor = ConvertFromURL(docURL)
' Vytvoření cesty pro cílový soubor s příponou PDF
Dim directory As String
directory = GetPath(ZdrojovySoubor)
CilovySoubor = directory & "Vysledek.pdf" ' Tady potřebuji aby si načetl správný název zdroje
' Převedení cesty na formát Linuxu
Dim fileURL As String
fileURL = ConvertToURL(CilovySoubor)
' Nastavení argumentů pro export do PDF
args1(0).Name = "URL"
args1(0).Value = fileURL
args1(1).Name = "FilterName"
args1(1).Value = "calc_pdf_Export"
' Vytvoření objektu Desktop pro volání exportní metody
Dim desktop As Object
desktop = createUnoService("com.sun.star.frame.Desktop")
' Export aktuálního sešitu do cílového PDF souboru
desktop.getCurrentComponent().storeToURL(fileURL, args1())
End Sub
' Patch aby fungovalo umístění adresáře pod Linuxem
Function GetPath(ByVal sFilePath As String) As String
Dim arrPath() As String
arrPath = Split(sFilePath, "/")
ReDim Preserve arrPath(UBound(arrPath) - 1)
GetPath = Join(arrPath, "/") & "/"
End Function
Prakticky chci navázat na toto makro aby se po úspěšném uložení automaticky vytvořilo PDF.
https://forum.openoffice.cz/viewtopic.php?id=6048
Editoval barevnej (12. 7. 2023 16:36:35)