Formularz z przyciskami

Użytkowanie edytora dokumentów
brex87
Posty: 44
Rejestracja: wt maja 14, 2019 8:34 am

Formularz z przyciskami

Post autor: brex87 »

Dzień dobry.
Zrobiłem formularz w writerze, który posiada pola do wypełnienia z kolejnością ich aktywacji z odróżnianiem znaków itp.
Postanowiłem jednak ułatwić sobie sprawę żeby nie musieć korzystać za każdym razem z opcji PLIK > ZAPISZ lub DRUKUJ czy ze skrótów klawiszowych, chciałem dodać przycisk ZAPISZ FORMULARZ.
Przycisk powinien zapisać wypełniony formularz .pdf gdzie w nazwie dodawałby np. datę lub też żebym mógł wpisać tekst własny.
W jaki sposób mogę dodać przycisk funkcyjny do drukowania lub zapisywania jako PDF ?
LibreOffice 6.2.2.2 (x64)
Awatar użytkownika
Rafkus
Posty: 516
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: Formularz z przyciskami

Post autor: Rafkus »

Można to osiągnąć makrem:

Kod: Zaznacz cały

Sub zapisz_jakoPDF
  Dim sURL, nowyURL As String
  Dim args1(0) as new com.sun.star.beans.PropertyValue  
   
   sURL = ThisComponent.getURL()	'Adres bieżacego pliku
   nowyURL = Left(sURL, LEN(sURL) - 4)&"_pdf.pdf"		'Zmień trochę w ścieżce nazwe pliku
'   nowyURL = ConvertToURL(nowyURL)	'użyj tego polecenia, jeśli nazwa ścieżki zawiera spacje lub znaki narodowe   
   
   if FileExists(nowyURL) = True Then     'Sprawdzenie, czy istnieje już taki dokument
     i = MsgBox  ("Czy chcesz zmienić istniejący dokument?" , 36, "Istnieje dokument" )
   else  
     i=6
   end if
   if i=6 then 
	 args1(0).Name = "FilterName"
	 args1(0).Value = "writer_pdf_Export"      
     ThisComponent.storetoURL(nowyURL, args1())  'zapisz jako inny plik
   end if        
End Sub
Makro to zapisuje plik w w tej samej lokalizacji co oryginalny plik z nieco zmienioną nazwą. Jeśli chciałbyś zapisać go w całkiem innej lokalizacji to trzeba zmienić dwie linijki kodu

Kod: Zaznacz cały

   sURL = ThisComponent.getURL()	'Adres bieżacego pliku - to można teraz usunąć
   a = Format (date, "ww-yyyy.mm.dd" )   'odpowiednio formatuję datę     
   nowyURL = convertToURL("D:\Zamówienia\Zamowienie_" & a & ".pdf") 
"D:\Zamówienia\Zamowienie_" - to jest docelowe miejsce zapisu pliku
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
brex87
Posty: 44
Rejestracja: wt maja 14, 2019 8:34 am

Re: Formularz z przyciskami

Post autor: brex87 »

Wiem, że można to wykonać za pomocą macro.
Myślałem, że jest możliwość wykonania przycisku na zasadzie "drukowania" do .pdf.
Korzystam jeszcze z tego arkusza na urządzeniu mobilnym na androidzie drukując za pośrednictwem drukarki sieciowej.
LibreOffice 6.2.2.2 (x64)
Awatar użytkownika
Astur
Posty: 653
Rejestracja: wt lip 13, 2010 9:11 am

Re: Formularz z przyciskami

Post autor: Astur »

Po prostu dodaj to makro do swojego dokumentu, wprowadź przycisk, a następnie w jego właściwościach zdarzeń, wstaw makro do np. „Klawisz wciśnięty”.
Ubuntu 20.04 — OpenOffice 4.1.10
Zanim zastosujesz się do jakiejś rady, zrób kopię zapasową dokumentu, którego ona ma dotyczyć.
Wskazówka: w dokumentach używam czasem niestandardowych, bezpłatnych czcionek Gentium i Lato
brex87
Posty: 44
Rejestracja: wt maja 14, 2019 8:34 am

Re: Formularz z przyciskami

Post autor: brex87 »

Dzień dobry.
Dodałem makro, ale niestety nie działa tak jak powinno, w trybie kreatora odpalając macro zapisuje plik poprawnie, ale niestety po wyeksportowaniu formularza do pliku .pdf już nie.
Załączniki
przycisk.odt
(10.97 KiB) Pobrany 184 razy
LibreOffice 6.2.2.2 (x64)
Awatar użytkownika
Rafkus
Posty: 516
Rejestracja: czw kwie 12, 2018 10:26 pm

Re: Formularz z przyciskami

Post autor: Rafkus »

Jakoś umknęło mi stwierdzenie, że przycisk ma działać z poziomu PDF-a. W tym przypadku nie pomogę (obawiam się, że we writerze tego nie zrobisz).
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Awatar użytkownika
Astur
Posty: 653
Rejestracja: wt lip 13, 2010 9:11 am

Re: Formularz z przyciskami

Post autor: Astur »

brex87 pisze:niestety po wyeksportowaniu formularza do pliku .pdf już nie.
Czy próbowałeś zmieniać opcje eksportu do PDF?
Ubuntu 20.04 — OpenOffice 4.1.10
Zanim zastosujesz się do jakiejś rady, zrób kopię zapasową dokumentu, którego ona ma dotyczyć.
Wskazówka: w dokumentach używam czasem niestandardowych, bezpłatnych czcionek Gentium i Lato
brex87
Posty: 44
Rejestracja: wt maja 14, 2019 8:34 am

Re: Formularz z przyciskami

Post autor: brex87 »

Nie rozumiem, korzystałem z eksportu wyświetllnego na wstążce.
LibreOffice 6.2.2.2 (x64)
Awatar użytkownika
Jermor
Posty: 2258
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Formularz z przyciskami

Post autor: Jermor »

Może o czymś nie wiem, ale moim zdaniem nie możesz uruchomić makra w dokumencie skonwertowanym do PDF. Niby dlaczego miałoby się to wykonać? Makro musi skorzystać z interpretera języka programowania. W przypadku LibreOffice jest on zawarty w pakiecie oprogramowania Office (Basic, Python) albo zainstalowany w systemie i zintegrowany z pakietem (Java).
Wikipedia pisze:Portable Document Format (PDF) powstał jako format, mający na celu eliminacje błędów z wyświetlaniem dokumentów przez różne czytniki z powodu zróżnicowanych i niekompatybilnych standardów. Ujednolicenie standardu zachowuje pełny wygląd dokumentu bez względu na to, z jakiego oprogramowania czy systemu korzystamy – dokument można przenosić pomiędzy systemami/komputerami (stąd portable w nazwie) i wygląda on zawsze tak samo.
Po przekazaniu przez Adobe i pełnej specyfikacji formatu do ISO format ten został standardem zapisu, obecnie znany jako wersja PDF 2.0.
Dlatego wprowadzenie ewentualnej możliwości uruchamiania makr musi wiązać się ze zmianami wprowadzanymi przez ISO.
Dokument PDF pochodzący z LibrOffice i zawierający makra, może zostać odczytany przez LibreOffice (gdy zastosowano konwersję hybrydową) i wówczas makro w nim zawarte się wykona. Tylko w tej sytuacji, po co tworzyć PDF?
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
brex87
Posty: 44
Rejestracja: wt maja 14, 2019 8:34 am

Re: Formularz z przyciskami

Post autor: brex87 »

Ja wszystko rozumiem, dlatego też chciałem się spytać czy można wywołać funkcję drukowania/zapisu do PDF tak jak ma to miejsce w przypadku stron internetowych.
LibreOffice 6.2.2.2 (x64)
Awatar użytkownika
Jermor
Posty: 2258
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Formularz z przyciskami

Post autor: Jermor »

Nie wiem, jak ważne jest dla ciebie takie automatyzowanie działań. Jeśli bardzo ważne i na dodatek mające działać w zakresie systemu Windows w stosunku do różnych programów, to może zwróć uwagę na opensource-owy produkt AutoHotKey (https://www.autohotkey.com). Pozwala on zautomatyzować działania dotyczące dowolnych programów windowsowych.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
brex87
Posty: 44
Rejestracja: wt maja 14, 2019 8:34 am

Re: Formularz z przyciskami

Post autor: brex87 »

Koledzy, nie chodzi o automatyzację tylko o ułatwienie pracy.
Korzystając z systemu stacjonarnego nie ma problemu z wydrukiem wypełnionego formularza czy też zapisania go do .pdf bo przeglądarki czy czytniki .pdf bez problemu radzą sobie z wydrukiem czy zapisem do .pdf
Problem pojawia się w przypadku urządzeń z mobilnymi systemami, tam muszę mieć skonfigurowaną drukarkę sieciową i mogę jedynie wydrukować, nie mogę zapisać wypełnionego formularza.
Automatyzacja nie ma tu nic do gadania, zależało mi na dedykowanym przycisku do zapisu.
LibreOffice 6.2.2.2 (x64)
ODPOWIEDZ