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

Automatyczny wydruk etykiety na podstawie danych z Excel

20 Cze 2018 18:05 2565 26
  • Poziom 4  
    Dzień dobry,
    chciałbym zapytać czy jest możliwość wykonania skryptu, który automatycznie drukowałby etykietę na drukarce Zebra GK420T na podstawie wpisanych danych w programie Excel.
    Wygląda to tak, że tworzę bazę towarów na magazyn, dane każdej rzeczy są wpisywane w osobny wiersz Excela, następnie te same dane wpisuje w edytorze etykiet programu zebra, aby wydrukować naklejkę, którą przykleję na towar.
    Chciałbym wykonać skrypt, który automatycznie będzie pobierał dane z Excela i drukował etykietę do przyklejenia na towar.
    Jest możliwość, aby jeszcze w jakiś sposób przyśpieszyć ten czasochłonny proces?
    Z góry dziękuje serdecznie za pomoc :)
    Dominik
  • Pomocny post
    Poziom 37  
    Tak, program magazynowy za głupie 2-4 stówki.
  • Poziom 4  
    Takie proste i tyle się męczę bez tego? ;)
    Jakieś propozycje? :)
  • Poziom 29  
    A co z takim programem jak np.: DesignPro 5 ? Nie sprawdza się ?

    Tak trochę powątpiewam w poprawną współpracę excela i drukarki Zebra.
    Nawet specjalizowane programy miewają czasami problemy z pozycjonowaniem "wsadu" etykiet ... : /, a dysponują "dokładnością" (rzekomo) do 0,1 mm, zaś excel to tak ni przypiął, ni wypiął jakieś tam punkty ma, a i to do końca nie wiadomo co to za miara jest (?) ... : / ...

    Robiłeś jakieś próby z takimi wydrukami "ręcznymi" ?
  • Poziom 4  
    Próbowałem już różnych pomysłów, niestety nie znalazłem żadnego rozwiązania.
    Generalnie jest możliwość połączenia Excela z Zebrą, ale ani razu nie udało mi się tego zrobić tak, jak chciałbym żeby działało.
    Dużym utrudnieniem jest również, że robię to na zasadzie prób i błędów ;)

    Sprawa wygląda tak, że na bieżąco wypełniam etykiety ręcznie, ale jest to dość czasochłonne, w przypadku 20 etykiet nie robi to różnicy, ale w przypadku 2000 już sporo wydłuża proces.
    Zależy mi, aby na bieżąco wypełniać plik Excela dodawanymi towarami, a żeby Zebra sama pobierała dane z ostatniego wiersza i automatycznie drukowała etykietę - ale szczerze mówiąc nie mam pojęcia czy coś takiego może działać.

    Szukam rozwiązań problemu, ponieważ przy przyjęciu dużego zamówienia i konieczności wrzucania każdej rzeczy na magazyn cały proces trwa wieczność.
  • Specjalista - VBA, Excel
    Oprogramowanie do etykiet z kodem kreskowym ZebraDesigner Pro

    Oprogramowanie do projektowania etykiet z kodem kreskowym ZebraDesigner Pro v2 upraszcza tworzenie skomplikowanych etykiet na podstawie stałych lub zmiennych danych. Rozwiązanie ZebraDesigner v2 zwiększa możliwości drukarki i maksymalnie podnosi jej wydajność dzięki następującym funkcjom:

    •Interfejs oparty na systemie Windows
    •Projektowanie etykiet w trybie WYSIWYG
    •Możliwość łączenia się z bazą danych(txt, xls, mdb)-uzyc Database Wizard
    https://www.zebra.com/content/dam/zebra/manuals/en-us/software/zebradesigner-pro-ug-en.pdf
    strona 124 i dalej
  • Poziom 4  
    Dziękuje za odpowiedzi i chęć pomocy :)
    Co do ostatniej propozycji kolegi @JRV, widziałem oczywiście to rozwiązanie, jednakże z tego co sprawdziłem działa to tylko w przypadku baz danych, które są zapisane, a ja chciałbym robić to "w locie"
    1. wpisuje dane towaru do Excel
    2. automatycznie drukuje etykietę z danych z Excel
    3. naklejam na towar i odkładam na regał

    Mam ogromną nadzieję, że uda nam się znaleźć jakieś rozwiązanie :)
    Miłego wieczoru, pozdrawiam.
    Dominik
  • Poziom 29  
    No dobrze, ale żeby tak było musi być jakiś gotowy szablon, bo chyba przecież nie tworzysz "rozplanowania" etykiety za każdym razem od nowa ... jest już jakiś gotowiec ?
    ... 8()?!
  • Specjalista - VBA, Excel
    domin0s napisał:
    że uda nam się znaleźć jakieś rozwiązanie
    w tym celu trzeba miec ten ZebraDesigner Pro przed oczy(instalowany), najmniej opis i plik pomocy(F1)
  • Poziom 4  
    Przepraszam jeśli to, co pisze jest niezrozumiałe, nie jestem w tej dziedzinie fachowcem, ale postaram się przekazać dokładnie jak wygląda cały proces.
    1. Odczytanie numeru OEM z przedmiotu
    2. wpisanie numer OEM w Allegro oraz eBay w celu sprawdzenia ceny
    3. Wpisanie nazwy przedmiotu, modelu do którego dedykowana jest część , numeru OEM i ceny do Excela.
    4. Wypełnienie szablonu etykiety (Wpisuje numer OEM, Model, oraz nadając numer magazynowy - każda rzecz ma swój unikalny numer magazynowy, CT1, CT2 etc. )
    5 Wydruk i naklejenie na towar

    Nie miałem nigdy możliwości pracować na profesjonalnym magazynie w którym proces przebiega szybciej, dużym problemem na pewno jest, że wszystkie towary muszę wprowadzić na magazyn ręcznie, ale bardzo zależy mi, aby przyśpieszyć ten proces :)

    Dziękuje za zaangażowanie i chęć pomocy :)
  • Poziom 23  
    Rozumiem, że chcesz to zrobić całkowicie bezkosztowo, jeżeli te kilka stówek to za dużo.
    Ok, to jeszcze pytanie gdzie jest ten formularz do drukowania: Excel (najłatwiej), aplikacja webowa (trochę trudniej) czy instalowana (da się, ale trzeba powalczyć)?
    Jeżeli nie jest w Excelu, to czy da się go włożyć do Excela i zadziała?
    Ja bym spróbował zautomatyzować proces przy pomocy VBA. Makro bez problemu przeniesie dane z arkusza roboczego do formularza i uruchomi drukowanie, nawet w pętli. Do aplikacji webowej (innej) też można, ale już nie tak łatwo. Może być potrzebny ktoś kto wie o co chodzi u ciebie na miejscu. A to też koszty, jeżeli sam tego nie zrobisz.
  • Poziom 37  
    Klasyka to rozdzielenie oprogramowania, danych i formatowania
    * Baza danych zawiera TYLKO dane (i jest bazą - Excel nie jest)
    * formatować może jak wspomniał JRV, da się uzyskać etykiety Zebrą Designerem, ale i typowymi programistycznymi designerami do raportów (zalezy jakie narzędzie ktoś oswoił). Design raportu się wykonuje raz (na kwartał, albo na zawsze). Drukarki Zebra współcześnie są pełnoprawnymi drukarkami jak każda, tylko że format kartki jest mniejszy.
    * program raportowy drukuje co mu się zada, wykonując zadany wzorzec i biorą zakres (jeden lub wiele) z bazy danych

    Powtórzę, wnioskuję że główna pracochłonność jest na własne życzenie. Przecież to tylko wycinek, COS SIĘ DZIEJE potem z tymi towarami (numer magazynow itd...???). Większość wdrożeń Excellowych święcie wierzy, że ich problem jest unikalny, i żaden gotowy program tego nie zrealizuje.
  • Poziom 4  
    Mogę to zrobić jak najbardziej kosztowo :)
    Największym problemem jest to, że się na tym nie znam i nie wiem jak ugryźć problem.
  • Poziom 37  
    kinggustav napisał:
    Rozumiem, że chcesz to zrobić całkowicie bezkosztowo,


    Dodam tylko, że "nie istnieje obiad za darmo." Kosztuje czas, kosztuje korygowanie pomyłek (spisanie w koszty strat), świecenie wstydem przed klientami itd.. zapomniany towar-półkownik.
    Jak pracodawca ma intuicję, zauważa, że rośnie mu "Święty Niezastąpiony" (oryginalne słowa - dotyczące lokalnego guru od excelli), i wiem, ze nie jest to zdrowe dla firmy.
  • Poziom 4  
    Panowie, chciałbym to zrobić dobrze, zależy mi, aby funkcjonowało to szybko, wygodnie i poprawnie. I oczywiście wiem, że wiąże się to z kosztami i co do tego nie mam wątpliwości.
    Czytając Wasze odpowiedzi utwierdzam się w przekonaniu, że jestem zielony w tych sprawach, ale za wszelką pomoc będę ogromnie wdzięczny :)
  • Poziom 23  
    Ale jakiej ty chcesz jeszcze pomocy? Dostałeś już sporo porad i doszedłeś do wniosku, że mało wiesz. To jakim cudem chcesz coś zrobić? W takich razach albo się kupuje gotowca, albo wynajmuje dostawcę. Ja coś tam może nawet wiem, ale bez popatrzenia na twój system nie odważę się zagwarantować, że jakaś automatyzacja wogóle rozsądnie zadziała. Nie odpowiedziałeś nawet (chyba, może przegapiłem) jak drukujesz te etykiety, jakim programem, bo jakoś je chyba drukujesz.
  • Poziom 4  
    Każda odpowiedź i pomoc jest dla mnie ważna, szukam rozwiązania odpowiedniego dla mnie.
    Rozumiem, że moje pytania i wątpliwości mogą być banalne lub nawet głupie dla kogoś, kto się na tym zna, ale chciałbym znaleźć możliwie jak najlepsze rozwiązanie, aby zautomatyzować cały proces.
    Drukuje wszystko dołączonym do drukarki programem Zebra Designer 2.
  • Specjalista - VBA, Excel
    Zalacz plik pomocy do tego Zebra Designer 2.
    Nie kazdy wie jak ten program pracuje, nie kazdy go ma.
    Lub wskaz gdzie pobrac instalacje(najmniej demo lub shareware)
  • Poziom 22  
    A ja bym popróbował tak:
    Jak masz program, który Ci drukuje dobre etykiety, to załóż excela z danymi, oprogramuj to wszystko autoIT. I niech sobie działa tak:
    Ustaw excela jak aktywne okno
    Skopij dana z komorki excela
    Ptzejdz do nastepnej komórki
    Ustaw program drukujacy jako aktywny
    Wklej dana z excela
    Poczekaj na okno z potwierdzeniem wydruku
    Powtorz

    Generalnie autoIT pozwoli Ci zautomatyzować to co robisz ręcznie. Może wystarczy ....
  • Poziom 37  
    WRadek napisał:
    ...to załóż excela z danymi...


    Excel nigdy nie był bazą danych. BTW wg Twojego pomysłu dorabiając do prowizorki zapronowałes jeszcze 1-2 dodatkowe prowizoryczne narzędzia.
    Potem za kilka lat jest wielki żal "mamy tę prowizorkę wyrzucić, przecież tak ogromnie dużo w to włożyliśmy"
    Nie mam zamiaru nikogo egzystencjalnie przerabiać, w tym kraju miłośników prowizorki jest bardzo dużo, ale ja mam zdecydowaną opinię.
  • Poziom 22  
    Masz rację. Źle doradziłem. Czasami szukając rozwiązania używałem takich "lepianek", bo potrzebowałem zrobić na już, a potem znajdowałem inne, lepsze rozwiązanie. I tylko dlatego o tym napisałem.
  • Specjalista - VBA, Excel
    Nikt nie zabrania używania Excel, nawet do bazy danych. Być może warunki skłoniły takiej decyzji. Człowiek po prostu chce ulżyć sobie pracy.
  • Poziom 2  
    Witam,
    A jak skomplikowane graficznie są te etykiety? Jeżeli w miarę proste, to można zaprogramować etykietę w ZPL, podstawiać za słowa klucze dane z Excela i tak wysłać na drukarkę.
  • Poziom 23  
    Z tym nie bardzo się mogę zgodzić: Potem za kilka lat jest wielki żal "mamy tę prowizorkę wyrzucić, przecież tak ogromnie dużo w to włożyliśmy". W zasadzie tak jest, to są dobre zasady, ale nie zawsze. Załóżmy, że chcę usprawnić to, co robię. Pracodawca ma to gdzieś, nie zamierza wydawać kolejnych milionów na nieistotny problem, a ja mogę sobie zrobić proste narzędzie i używać. W efekcie to co robiłem godzinę wykonuje się w ciągu kilku sekund, a zaoszczędzony czas poświęcić na kolejne "usprawnienia". Oczywiście nikt inny tego nie używa, bo nie potrzebuje, odpada więc konieczność utrzymania, itd.
    Więc warto czy nie warto w takim przypadku złamać (całkiem słuszne) reguły obowiązujące w świecie programistów?
  • Poziom 4  
    Dziękuje za taką aktywność w moim wątku :)
    Powiem tak, używam Excela dlatego, że jest najwygodniejszy ze wszystkich programów, których używałem do tej pory.
    Wpisanie danych towaru jest szybkie, automatycznie sprawdza czy nie ma duplikatu o takim samym numerze oraz export pliku CSV do programu magazynowego jest banalnie prosty.
    Domyślam się, że jest wiele świetnych programów do prowadzenia magazynu i sprzedaży, ale póki co zestaw na którym pracuje spisuje się w porządku, jedynie czas, który jest potrzebny na wypisanie etykiety chciałbym zaoszczędzić.
    W załączniku przesyłam obrazek poglądowy etykiety
    Automatyczny wydruk etykiety na podstawie danych z Excel
  • Specjalista - VBA, Excel
    domin0s napisał:
    oraz export pliku CSV do programu magazynowego

    Automatyczny wydruk etykiety na podstawie danych z Excel
    a ukaz ten plik csv
  • Poziom 2  
    Można to zrobić tak: tworzysz w ZebraDesigner (ta darmowa wersja) etykietę, drukujesz do pliku.
    Drukarkę udostępniasz w sieci.
    Robisz skrót, np.
    net use LPT1: \\komputer\drukarkazebra
    W Excelu rejejestrujesz, makro, edytujesz.

    Open "LPT1" For Output As #1

    Print #1, "linia pierwsza z pliku"
    Print #1, "linia druga z pliku"


    w mniej więcej takim czymś podstawisz wartości z Excela, tutaj jprzykład z jednej komórki, jak przejść do kolejnych zakres itd. to w innych wątkach.

    Print #1, "^FT553,203^A0I,28,28^FH\^FD" + Range("A1").Value + "^FS"
    Print #1, "^FT552,142^A0I,28,28^FH\^FD" + Range("B1").Value + "^FS"

    Print #1, "^PQ1,0,1,Y^XZ"
    Close #1

    Może być problem z liniami z logo, będzie trzeba rozdzielić na kilka linii, ale powinno działać.