Formularz z przyciskami
Formularz z przyciskami
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 ?
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)
Re: Formularz z przyciskami
Można to osiągnąć makrem:
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
"D:\Zamówienia\Zamowienie_" - to jest docelowe miejsce zapisu pliku
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
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")
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Re: Formularz z przyciskami
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.
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)
Re: Formularz z przyciskami
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”.
Re: Formularz z przyciskami
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.
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 226 razy
LibreOffice 6.2.2.2 (x64)
Re: Formularz z przyciskami
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
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Re: Formularz z przyciskami
Czy próbowałeś zmieniać opcje eksportu do PDF?brex87 pisze:niestety po wyeksportowaniu formularza do pliku .pdf już nie.
Re: Formularz z przyciskami
Nie rozumiem, korzystałem z eksportu wyświetllnego na wstążce.
LibreOffice 6.2.2.2 (x64)
Re: Formularz z przyciskami
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).
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?
Po przekazaniu przez Adobe i pełnej specyfikacji formatu do ISO format ten został standardem zapisu, obecnie znany jako wersja PDF 2.0.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.
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 24.8.2 (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.
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.
Re: Formularz z przyciskami
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)
Re: Formularz z przyciskami
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 24.8.2 (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.
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.
Re: Formularz z przyciskami
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.
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)