

EXCEL 2007 - jak pomocí VBA vytisknout aktivní řádek na jehličkovou tiskárnu a ..
Pomozte někdo, kdo se vyznáte v excelu, jak vytisknout aktivní řádek po změně ve sloupci 3.
Podle tohoto odkazu http://gymzv.sk/~vyuka/informatika/excel/excelentn e/chipex05/09/excel_vba_udalosti.html (díky MachR55)
se dá zajistit, aby událost vložení něčeho do třetího sloupce spustila něco.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Oblast As Range'definice sledované oblasti
Set Oblast = Range("C1:C1000")'test výběru
If Union(Oblast, Target).Address = Oblast.Address Then
MsgBox "Změněna hodnota v buňce " & Target.Address(0, 0)
End IfEnd Sub
Jaký kód vložený mezi if a endif zajistí, aby se vytiskly první tři buňky (sloupce) aktuálního řádku?
A jakmile se něco změní v dalším řádku ve sloupci tři, ať se vytisknou zase první tři buňky (sloupce) v tomto dalším řádku pod.
takto si to myslel?
Avšak pozor, zmena je aj zmazanie, t.j. ak zmažeš napr. bunku C5, vytlačia sa bunky A5 až C5, pričom C5 je prázdna...
Ne, teď to odstránkuje.
Právě bych potřeboval, aby se vytiskl jen řádek, neodstránkovalo, a při změně ve třetím sloupci na dalším řádku aby se zase vytiskly tři čísla vedle sebe na další řádek pod to.
A pořád dál.
Bez odstránkování.
Tisknout bez odstránkování bude asi problém - nikde v nastaveních metody PrintOut potlačení odstránkování nevidím. Zkoušel jsem i zagooglit, ale taky marně...
Osobně bych to řešil asi vytvářením pomocného TXT souboru s počítáním kolik řádků už tam je uloženo a při dosažení celé stránky bych ten soubor vytiskl. Samozřejmě by tam muselo být i nějaké tlačítko na vytištění, pokud by se skončila práce před dosažením konce stránky, nebo by se ten zbytek vytiskl automaticky před zavřením souboru.
Jen drobnou poznámku - tuhle část kódu:
bych někam odšoupl (třeba do procedury vykonávané při otevření sešitu - Workbook_Open) a proměnnou Oblast bych nastavil jako globální. Takhle se tato část kódu stále opakuje při každém vyvolání makra.
Nešlo by třeba tisknout přes nějaký formulář, který by byl dlouhý třeba jen jeden nebo dva řádky?
Pak by to odstránkování nebyl problém..
Jen nápad, ale sám ho realizovat neumím, uměl byste to někdo?
Vše souvisí s tím, že dnes jsou všechny programy, ovladače i samotný systém stavěny na stránkový tisk, nikoli řádkový. Žádný formulář Ti nepomůže, maximálně docílíš toho, že po vytištění jednoho řádku tiskárna odstránkuje. Pokud chceš průběžný tisk po každé změně, musíš rozchodit přímý tisk na tiskárnu (resp. port), tedy v podstatě obejít ovladače (+ systém), bez toho se dál nehneš.
Jediná alternativa - změny sbírat někde v programu (třeba v tom Excelovským makru) a až jich bude akorát na 1 stránku, tak je vytisknout. V tomhle případě bys přímý tisk nepotřeboval.
Ja som jeho predoslu odpoved pochopil tak, ze pokial ta zmena bude vytlacena vo forme nejakeho formulara (v zmysle tlaciva), tak mu to strankovanie nevadi. T.j. vytlaci sa papier so zaznamom trebars jedineho riadka, kde doslo ku zmene, ale bude to mat nejaku formu, t.j. zahlavie a pod. To by slo bez problemov.
Dokonca by mohli byt riadky, v ktorych doslo ku zmenam, docasne oznacovane nejakym indikatorom a k dispozicii by mal tlacitko, ktorym by dal kedykolvek prikaz k vytlaceniu nejakej davky, pricom by sa vytlacila davka indikatormi oznacenych riadkov a indikatory by sa povelom na vytlacenie nasledne zmazali... Alebo by sa dalo nastavit, ze sa vytlaci harok po kazdych 10 zmenach a pod a pod...
Asi máš pravdu, asi jsi to pochopil lépe...
To znelo trochu ironicky, ja som to pisal s cielom bavit sa i s Tebou o moznostiach a ako to vidis Ty. Tvoje odpovede, ktore si napisal su cennymi i pre mna a staviam dalej na nich. Nechcel som sa Ta dotknut. Ak si ma pochopil inak, tak prepac.
Kamosi?
Ne, promiň, to jsi opravdu pochopil špatně, rozhodně jsem to nemyslel ironicky.

Mě prostě nedocvaklo, že by chtěl jeden řádek s hlavičkou na jedné stránce a měl by vyřešeno. Asi po ránu jedu stále v takovém poloautomatickém režimu...
Tak asi vyřešeno, excel jsem pustil k vodě, natáhnu si to do něj z texťáku pozdějc.
Vyhrabal jsem staší počítač WXP s paralelním portem, nastavil tisk přímo na tiskárnu, spouštím při startu z bat souboru řádek:
type con: |wtee.exe -a vaha.txt lpt1
Chová se to solidně, samo si to případně vytvoří soubor vaha.txt, nebo když už existuje, tak to do něj připisuje další řádky, a v případě ukončení a znovustuštění počítače připisuje pořád dál do téhož souboru.
Když soubor vaha.txt přejmenuju (samozřejmě to jde provést až po ukončení cmd okna s type con: ...), tak si wintee vytvoří nový.
Přesně jak potřebuju.
Děkuju všem za pomoc i z minulého vlákna, kde byl zmíněn super prográmek wintee.