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.

Makro - prośba o możliwość sprawdzenia i poprawienia makra

rbt.RBT 25 Lut 2016 12:14 822 14
  • #1 25 Lut 2016 12:14
    rbt.RBT
    Poziom 3  

    Witam. Mam problem z makrem. Mam w Moich dokumentach pliki word. Liczba takich dokumentów jest ok 10000. Chciałbym aby makro drukowało mi wszystkie te pliki pokolei, oraz na domyślnej drukarce i jej preferencjach drukowania.
    Poniżej moje makro.

    Sub Druk()
    With ActiveSheet
    .PageSetup.PrintArea = "$C:\Documents and Settings\zdunek.marek\Pulpit\p\00001_025676583_ADAM PUTON:C:\Documents and Settings\zdunek.marek\Pulpit\p\01000_025694625_Grzegorz Szafrański"
    Application.Dialogs(xlDialogPrinterSetup).Show
    .PrintOut
    .PageSetup.PrintArea = ""
    End With
    End Sub

    Dodano po 9 [minuty]:

    oczywiście przerobiłem $C:\Documents and Settings\zdunek.marek\Moje dokumenty\00001_025676583_ADAM PUTON:C:\Documents and Settings\zdunek.marek\Moje dokumenty\01000_025694625_Grzegorz Szafrański" . Zaznaczam wszystkie dokumenty i kliam drukuj i mi zawsze drukowało po koleji, nic nie przestawiało. Teraz mi drukuje wg jakiegoś widzimisię. A mam bardzo dużo do wydrukowania, niechciał bym aby makro mieszało mi.

    0 14
  • #2 25 Lut 2016 13:03
    JRV
    Specjalista - VBA, Excel

    rbt.RBT napisał:
    With ActiveSheet
    Makro w Excel?
    rbt.RBT napisał:
    .PrintArea = "$C:\Documents and Settings\zdunek.marek\Pulpit\p\00001_025676583..... itd.

    Dla mnia to fantastickie...

    0
  • #3 25 Lut 2016 13:16
    rbt.RBT
    Poziom 3  

    Mam w "Moich dokumentach" mam zapisane dokumenty w wordzie, np o takich nazwach :
    00001_025676583_ADAM PUTON
    01000_025694625_Grzegorz Szafrański.

    Chciałbym aby makro drukowało mi te pliki w określonej kolejności. Jakiej kolejności? takiej jak sa zapisane w moich dokumentach.

    Dodano po 4 [minuty]:

    Dokumenty są zapisane jako pliki word. Kiedyś to makro podpinałem pod worda i zaznaczałem zakres plikow word i mi drukowało wszystko w takiej kolejnosci jakiej miałem zapisane w "moich dokumentach" czy też w innym folderze. Teraz mam problem i nie wiem dlaczego mi drukuje wg dla mnie nie zrozumiałego schematu.
    Majać dużą ilość może dokumentów to może takie makro narobic więcej złego niż dobrego, a o to własnie mi nie chodzi.

    0
  • #4 25 Lut 2016 21:07
    rbt.RBT
    Poziom 3  

    Ktoś wie jak mozna wydrukować wszystkie pliki po kolei?Jest to pilna sprawa

    0
  • #5 25 Lut 2016 22:17
    adamas_nt
    Moderator Programowanie

    W pętli, Panie, w pętli ;)

    A poważnie - Wrzuć przykładowy plik (z tym działającym makrem). Bo piszesz o Word'zie, a makro jakby excelowskie...

    Jest jakaś lista tych plików do wydrukowania, wydzielony folder, lub tp? Jaka kolejność: alfabetycznie, data modyfikacji, inne (niepotrzebne skreślić)?

    0
  • #6 26 Lut 2016 07:59
    rbt.RBT
    Poziom 3  

    w "Moich dokumentach" mam zapisane dokumenty w wordzie i makro wzięli pod uwagę kolejność drukowania ten fragment nazw plikow w wordzie i drukowalo w takiej kolejności:
    00001_
    01000_
    Tak makro exelowskie, które wcześniej dzialalo poprawnie. Juz ponad 40 razy dzialalo dobrze, teraz juz nie działa. Musze dzis wydrukować i nie wiem jak je poprawic. Ścieżka gdzie są zapisane jest poprawna.

    Dodano po 1 [godziny] 45 [minuty]:

    Oczywiście WORD 2010. Działało mi wczesniej bo miałem WORD 2007. A teraz jest problem. Potrzebuje pomocy na cito.

    0
  • #7 26 Lut 2016 08:12
    adamas_nt
    Moderator Programowanie

    rbt.RBT napisał:
    które wcześniej dzialalo poprawnie
    I tu właśnie mamy wątpliwości...
    pomoc Excela napisał:
    Excel Developer Reference
    PageSetup.PrintArea Property
    Returns or sets the range to be printed, as a string using A1-style references in the language of the macro. Read/write String.


    Jak w Excelu wydrukować dokument Worda, nie odwołując się do obiektu Word Application? OK, plik tekstowy dałoby się przez Shell, ale żeby "przeczytać" wordowski - trzeba go otworzyć w czymś, co go "wytłumaczy" drukarce.
    Dlatego prosiłem o załącznik. Być może w którymś module są jakieś czary-mary z nazwami i importem z Worda...

    0
  • #9 26 Lut 2016 08:39
    JRV
    Specjalista - VBA, Excel

    Zaznacz pliki - PPM - Drukuj

    0
  • #10 26 Lut 2016 09:52
    rbt.RBT
    Poziom 3  

    PPM tak się nie da. Drukuje nie w kolejności.

    Dodano po 1 [godziny] 7 [minuty]:

    Tym makrem które podesłałem o sprawdzenie, robiłem w WORD 2007 i edytowałem scieżke makra, potem zapisz, potem klikałem zaznacz PPM obszar wydruku plików word w folderze i mi drukowało makro w kolejnosci. W 2010 WORD makro nie drukuje kolejno. Ktoś ma jakiś pomysł?

    0
  • #11 26 Lut 2016 13:52
    JRV
    Specjalista - VBA, Excel

    rbt.RBT napisał:
    Tak makro exelowskie
    rbt.RBT napisał:
    Tym makrem które podesłałem o sprawdzenie, robiłem w WORD 2007

    Oznacza to, że uruchomienie makra z Word'a, nie z programu Excel? Chce zmodelowac to.

    Dodano po 14 [minuty]:

    Nie rozumiem, jak to może pracować. Makro bardzo nie logiczne.
    Probowal to. Mój Excel 2007 mówi, że jestem głupi.
    Ogólnie rzecz biorąc '.PageSetup' jest to nie dialog plików, tylko okno dialogowe Ustawienia strony.

    0
  • #12 26 Lut 2016 15:14
    rbt.RBT
    Poziom 3  

    Makro nie logiczne, może dla mnie najważniejsze to że spełaniało swoja funkcję, czyli drukowało i wazne ze w kolejności.

    0
  • #13 26 Lut 2016 21:34
    marcinj12
    Poziom 40  

    Chodziło chyba o to, że w .PageSetup.PrintArea podaje się zakres komórek do wydruku, a u Ciebie są tam jakieś ścieżki podane...

    W każdym razie spróbuj może dla odmiany drukowania z linii komend i starego, dobrego .vbs ;)
    Choć zdaje się, że VBA też to zrozumie jak wstawisz ten kod do makra...
    1. utwórz plik z rozszerzeniem .vbs i wklej mu poniższy kod, zmieniając ścieżkę do katalogu z plikami oraz ścieżkę prowadzącą do worda:

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    2. Przetestuj czy działa. Możesz wstrzymać kolejkę wydruku:
    [win7] Start->Urządzenia i drukarki, prawym na wybraną drukarkę "Ustaw jako drukarkę domyślną", potem "Zobacz co jest drukowane".
    W oknie kolejki wydruku: zaznacz Drukarka->Wstrzymaj drukowanie. Upewnij się, że jest posortowane wg kolumny "Przesłany". Uruchamiasz skrypt i patrzysz, czy zapełnia kolejkę w wybranej kolejności. Jeśli tak, możesz spróbować wydruku odznaczając Drukarka->Wstrzymaj drukowanie ale nie gwarantuję, że nie ma jakiegoś mechanizmu - Windowsa lub drukarki - który uzna, że będzie mu bardziej optymalnie wydrukować wg własnej kolejności...

    0
  • #14 27 Lut 2016 11:44
    clubs
    Poziom 29  

    Witam

    Dokładnie zobacz tak jak napisał Marcin tylko zmień z /mFileExit na /mFileCloseOrExit
    będzie ci zamykać z automatu

    albo pociągnij z starego poczciwego bat-a (musisz tylko dopasować ścieżki)

    Kod: bash
    Zaloguj się, aby zobaczyć kod

    0
  • #15 28 Lut 2016 10:15
    rbt.RBT
    Poziom 3  

    Dziekuje wszystkim za pomoc. To makro moze przydać komuś. Poradziłem sobie inaczej. Dostalem zakładek w systemie do wydruku zbiorowego.

    0