LibbreOffice Draw zapis pliku z odpowiednią nazwą
: czw mar 03, 2022 10:17 pm
Dzień dobry wszystkim,
W LibreOffice Draw potrzebuje ustawić makro, które eksportuje otworzony wcześniej i edytowany plik pdf do wybranej przeze mnie lokalizacji. Przykład: Użytkownik otwiera plik PDF za pomocą LO Draw, edytuje go, uruchamia makro które eksportuje plik do PDFa i zapisuje go w konkretnej lokalizacji z identyczną nazwą pliku taką jak otwierany PDF. Jestem laikiem jeśli chodzi o makra ale coś z pomocą LO calc i google napisałem:
To makro działa w calc , ale też źle bo jak sama komenda w makru wskazuje zapisuje plik z nazwą arkusza, a nie pliku. W draw też działa bez komend "sheet" i "filename" i muszę ustawić konkretną nazwę eksportowanego pliku co powoduje problem bo chce żeby w jednym folderze było kilkanaście plików, a teraz te pliki się po prostu nadpisują. Ostatecznie jeśli nie można wyciągnąć nazwy otwieranego /edytowanego pliku pdf zależy mi na tym aby każdy plik zapisywany był z inną nazwą poprzez dodanie godziny na przykład. Uprzejmie proszę o pomoc
W LibreOffice Draw potrzebuje ustawić makro, które eksportuje otworzony wcześniej i edytowany plik pdf do wybranej przeze mnie lokalizacji. Przykład: Użytkownik otwiera plik PDF za pomocą LO Draw, edytuje go, uruchamia makro które eksportuje plik do PDFa i zapisuje go w konkretnej lokalizacji z identyczną nazwą pliku taką jak otwierany PDF. Jestem laikiem jeśli chodzi o makra ale coś z pomocą LO calc i google napisałem:
Kod: Zaznacz cały
sub Main
rem-------
rem define variables
dim document as object
dim dispatcher as object
dim Filename
rem-----------
rem get acces to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
Sheet = ThisComponent.getCurrentController.getActiveSheet()
FileName = ThisComponent.getCurrentController.getActiveSheet.Name
rem-------------
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = "file:///C:/Users/i tak dalej/" & filename
args1(1).Name = "FilterName"
args1(1).Value = "draw_pdf_Export"
args1(2).Name= "FilterData"
args1(2).Value = Array(Array("UseLosslessCompression" i tu dalej ustawienia pdf które po prostu zarejestrowałem))
dispatcher.executeDispatch(document, ".uno:ExportToPDF", "", 0, args1())
end sub