Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

OpenOffice - makro drukujące w przycisku

bodziobdg 29 Mar 2018 14:50 468 7
  • #1 29 Mar 2018 14:50
    bodziobdg
    Poziom 2  

    Witam,
    problem mój polega na tym, że mam potrzebę wydrukowania pewnego zakresu z komórek z innego arkusza za pomocą przycisku (etykieta na drukarce do etykiet). Rejestrowanie makra niestety kończy się na tym, że zaznacza zakres komórek w tym samym arkuszu i kończy się na oknie drukowania, gdzie jest do wyboru m.in. drukarka. Niestety jestem zielony jeśli chodzi o programowanie makr.

    W załączniku wstawiłem wyczyszczony arkusz.

    W arkuszu 1 w komórce I17 zamieściłem przycisk, który po kliknięciu miałby drukować zakres komórek z arkusza 2 - A2:B25;
    w komórce I18 zamieściłem przycisk, który po kliknięciu miałby drukować zakres komórek z arkusza 2 - D2:E25;
    ... i tak dalej :)
    Chyba, że da się to zrobić w inny sposób?
    Dobrze by było, żeby w makro była też wybrana drukarka - inna niż domyślna.

    0 7
  • #2 04 Kwi 2018 10:15
    Prot
    Poziom 27  

    bodziobdg napisał:
    mam potrzebę wydrukowania pewnego zakresu z komórek z innego arkusza za pomocą przycisku


    Nie znam wprawdzie tytułowego programu "OpenOffice - marko" :D , ale chciałbym Ci pomóc w rozwiązaniu Twojego problemu.

    Proszę zatem o dokładne wyjaśnienie następujących wątpliwości:
    1. Na jakim programie chcesz pracować: Office czy OpenOffice ?
    2. Na jakiej drukarce chcesz drukować te swoje etykiety ? Jaki format tych etykiet ?
    3. Czy zrobiłeś ręcznie (tzn. bez makra) w swoim programie z tego przykładowego arkusza wydruk na swojej drukarce - takiej etykiety jakiej potrzebujesz ?
    4. Jeśli treść etykiet ujęta jest w arkuszu 2, to jaką rolę odgrywają kolorowe obszary w arkuszu 1 w wykonywaniu tego wydruku :cry: ?
    5. Czemu w arkuszu 1 zastosowałeś 3 przyciski "wyboru opcji" zamiast zwykłego przycisku "akcji" ?

    0
  • #3 04 Kwi 2018 11:17
    bodziobdg
    Poziom 2  

    Prot napisał:

    1. Na jakim programie chcesz pracować: Office czy OpenOffice ?
    2. Na jakiej drukarce chcesz drukować te swoje etykiety ? Jaki format tych etykiet ?
    3. Czy zrobiłeś ręcznie (tzn. bez makra) w swoim programie z tego przykładowego arkusza wydruk na swojej drukarce - takiej etykiety jakiej potrzebujesz ?
    4. Jeśli treść etykiet ujęta jest w arkuszu 2, to jaką rolę odgrywają kolorowe obszary w arkuszu 1 w wykonywaniu tego wydruku :cry: ?
    5. Czemu w arkuszu 1 zastosowałeś 3 przyciski "wyboru opcji" zamiast zwykłego przycisku "akcji" ?


    1. OpenOffice
    2. drukarka do etykiet Citizen CL-S621 format 100x100
    3. Tak robiłem, kwestia zabawy z ustawieniami strony i marginesów :P
    4. W tych kolorowych obszarach są tabelki z pewnymi danymi, których nie mógłbym upublicznić, bo mogłoby się to nie spodobać mojemu pracodawcy :) W każdym bądź razie dane te są transportowane za pomocą formuł do arkusza z wydrukami (np. dane z wiersza B17:H17 są w arkuszu 2 w komórkach A9, B9, A14, B14 itd...)
    5. Jeśli takie rozwiązanie będzie lepsze to liczę na w miarę zrozumiałe wyjaśnienie ;) Chodziło mi o to, żeby drukować dane z tego wiersza, który w danej chwili potrzebuję, czyli 1 kliknięcie - 1 wydruk.

    0
  • Pomocny post
    #4 04 Kwi 2018 22:32
    Prot
    Poziom 27  

    bodziobdg napisał:
    kwestia zabawy z ustawieniami strony i marginesów

    To wcale nie jest zabawa :| - to jest bardzo ważny element całej procedury VBA, bez pełnej jasności co wchodzi w obszar wydruku (czy tak jak pisałeś wcześniej Arkusz2!A2:B25, czy Arkusz1!A1:G45 :cry: ) nie można zbudować prawidłowego kodu makra :not:

    Najprostszą metodą uzyskania makra (również w OpenOffice) jest tzw. nagrywanie makra - gdzie nagrywana jest cała przeprowadzana procedura - bardzo dokładnie z zapisem ustawiania obszaru wydruku, wyboru drukarki, formatowania wydruku itp

    Jeśli wykonanie makra daje pożądane efekt to OK, najczęściej jednak trzeba zrobić drobne modyfikacje kodu w OpenOffice Basicu.

    0
  • #5 09 Kwi 2018 08:53
    bodziobdg
    Poziom 2  

    Dzięki za poradę, przeprowadziłem zabieg rejestracji makra krok po kroku i wydruk docelowy jest mniej więcej taki jaki powinien być. Proszę tylko jeszcze o wskazówkę co zrobić, żeby po kliknięciu przycisku wykonującego makro nie wyskakiwały wszystkie okienka po drodze (wyskakują kilka razy :( ), żeby po prostu drukowało :) Wklejam kod, który mi wyszedł po zarejestrowaniu makra.

    Kod: actionscript
    Zaloguj się, aby zobaczyć kod

    0
  • #6 10 Kwi 2018 13:19
    Prot
    Poziom 27  

    Nie podałeś właściwego pliku :cry: , nie znam Twojej drukarki etykiet :cry:

    Spróbuj zamiast tego zarejestrowanego makra (z powtórzonym 3x wydrukiem :D )
    poeksperymentować z poniższym kodem :spoko:
    Oczywiście z właściwym plikiem i z zainstalowaną w systemie drukarką Citizen :idea:

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    0
  • #7 20 Kwi 2018 15:18
    bodziobdg
    Poziom 2  

    Spróbowałem pobawić się Twoim kodem, ale jeszcze mi to nie wychodzi, podstawiłem nazwę drukarki domyślnej i drukuje... ale 8x i nie to co bym chciał :P możesz mi jeszcze podpowiedzieć co muszę zmienić, żeby nic nie zepsuć i drukować interesujący mnie zakres?

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    0
  • #8 20 Kwi 2018 19:29
    Prot
    Poziom 27  

    Jeśli możesz to prześlij na forum (lub poufnie na PW) oryginalny plik OpenOffice - z tymi danymi do wydruku (ewentualnie uzupełniony opisem).
    Ani program Office, ani makro nie zgadnie :D co Ty tam chcesz z tych arkuszy drukować (jaki zakres i w jakich rozmiarach i ilościach) - jeśli coś jest nie ustawione - to głupia maszyna jedzie po ustawieniach "domyślnych" :cunning:

    Jak pisałem nie znam Twojej drukarki Citizen, nie mam jej sterowników i trudno przewidzieć jak należy ustawić obszar wydruku i jego rozmiar finalny. Domyślam się jedynie, że jest to drukarka specjalna do etykiet i to raczej nie do pojedynczych wydruków :?:

    0