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.

Excel - VBA Drukowanie. Dodanie opcji wyboru drukarki.

25 Sty 2012 21:37 9885 8
  • Poziom 23  
    Witam.
    Jestem w trakcie tworzenia w pliku nowego okna UserForm z opcją drukowania. W sumie to już wszystko zrobiłem ale chcę dodać jeszcze opcję wyboru drukarki ponieważ w pracy mam dostęp do paru drukarek i korzystam ze wszystkich. W oknie dodałem ComboBox i mam pytanie jakim kodem wywołam żeby po rozwinięciu okna ComboBox pokazało mi wszystkie dostępne drukarki?
  • Poziom 22  
    Hmmm, ale jaki będzie następny krok? Jak przekazać informacje o wyborze z ComboBox do systemu? A wybór ile stron wydrukować i temu podobne kwestie?

    Nie lepiej od razu: Application.Dialogs(xlDialogPrint).Show ?
  • Poziom 23  
    Wybór ilości stron już jest, w sumie to jeszcze czegoś takiego nie robiłem dlatego pytam jak można by to zrobić aby zamiast opcji:
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    dać opcje druku z wyznaczoną drukarką

    Dodano po 5 [minuty]:

    Okno drukowania wygląda tak jak na screenie, wszystko jest aktywne i w pełni działające oprócz samego dołu wyboru drukarki, i chciałbym aby to jakoś uruchomić, było by mi to bardzo przydatne:
    Excel - VBA Drukowanie. Dodanie opcji wyboru drukarki.
  • Poziom 23  
    Sposób podany w linku jest dla mnie zbyt skomplikowany i nie poradzę sobie z nim zupełnie. A jeśli chodzi o kod który podałeś to bardzo ciekawie wygląda. Jak uruchomię go z przycisku to oczywiście ładnie pokaże w oknie dostępne drukarki jak na poniższym screenie, ale jak to wsadzić do ComboBox aby po rozwinięciu pokazało dostępne drukarki i żeby można było wybrać tą odpowiednią?
    Excel - VBA Drukowanie. Dodanie opcji wyboru drukarki.
  • Moderator Programowanie
    JaroFon napisał:
    Sposób podany w linku jest dla mnie zbyt skomplikowany i nie poradzę sobie z nim zupełnie
    Jeśli z góry zakładasz porażkę, to czym to się skończy? Nawet nie spróbujesz...

    Wszystko masz podane jak na talerzu dzięki kol Aldrin. Kod do UserForm_Initialize i... pomyśleć:
    1) Interesuję Cię tylko część zapodanego stringu z nazwą drukarki (oPrinters.Item)
    2) Dodawać wartości do listy umiesz (AddItem)
    3) Polecenie PrintOut ma szereg argumentów. Jednym z nich jest ActivePrinter:=" Nazwa Drukarki", argument typu STRING.

    W czym jeszcze widzisz problem?
  • Poziom 23  
    To że się poddałem nie znaczy że nie próbowałem. Uwierz że próbowałem ale nic z tego mi nie wychodzi. Nawet wkleiłem kod w takiej postaci jak zapodał kolega Aldrin do UserForm_Initialize ale to powoduje że ten kod jest już inicjowany w momencie jak kliknę na przycisk którym otwieram okno UserForm. A gdzie tam żeby kod był inicjowany po otwarciu listy ComboBox. Pisanie kodów z pozoru dla Was prostych dla mnie najczęściej nawet poprawienie najprostszego kodu kończy się porażką.
  • Poziom 23  
    Dzięki wielkie