TOPlist

Tisk SW karet

Ikona aplikace

Oddělení správy počítačové sítě ve společnosti UniControls si zavedlo pro svoji interní potřebu poměrně rozsáhlou a strukturálně složitou tabulku na evidenci licencí zakoupeného SW a jejich instalací na jednotlivých počítačích ve společnosti. Tabulka byla vytvořena a plněna daty prostřednictvím MS Excelu. Problém nastal, když se z této tabulky měl pořídit papírový dokument pro každý počítač, který by jeho odpovědný uživatel podepsal. Procházet ručně tabulku, vypisovat z ní údaje do souboru dokumentu a riskovat náhodné přehlédnutí některého z údajů na příslušném řádku tabulky, se ukázalo jako velmi nepraktické. Provádění této činnosti přímo volalo po zautomatizování. Tak vzniklo zadání tohoto projektu.

Pracovní prostředí programu

Jako řešení jsem vytvořil program pracující na následujícím jednoduchém principu, který vycházel z analýzy struktury zmíněné tabulky v MS Excelu a ze znalosti pravidel jejího používání.

Program si všechny důležité údaje parametrizující jeho činnost uchovává v inicializačním souboru v adresáři jeho instalace. Soubor obsahuje na počátku autorem předdefinovanou strukturu a difoltní hodnoty. Struktura se nemění, hodnoty ano. V inicializačním souboru se mimo jiné uchovávají údaje: o posledním otevřeném souboru MS Excelu se zdrojem dat, základní informace o tabulce (na jakém řádku začíná seznam SW, v jakém sloupci začíná seznam počítačů), adresář s umístěním šablon pro tisk programem a další.

Při svém spuštění se program pokusí otevřít podle údaje z inicializačního souboru naposledy otevřený soubor s tabulkou zdrojových dat. Pokud se mu to povede, zobrazí v záložkách na ploše hlavního okna seznam počítačů a jejich uživatelů, respektive seznam softwarů používaných ve firmě. Nepodaří-li se data načíst, zůstanou seznamy na panelech prázdné. V tom případě je na uživateli, aby v závislosti na změněné struktuře zdrojového souboru s tabulkou, přenastavil údaje v inicializačním souboru, nebo sám vyhledal a otevřel zdrojový soubor.

Na obou panelech programu pracuje uživatel principiálně stejně. Ze seznamu počítačů a jejich uživatelů respektive ze seznamu SW si vybere ty, o nichž chce vytisknout údaje, a přesune je do seznamu položek určených k tisku na příslušném panelu. Po kompletaci tohoto seznamu pak jen vybere v menu odpovídající položku a program provede tisk dokumentu Karta SW na počítači respektive tisk dokumentu Karta využití SW. K tisku se využívá přes COM rozhraní MS Word. V něm se prvně vytvoří na základě šablony příslušný dokument a ten se tiskne. Po úspěšném vytištění se příslušná položka automaticky odstraní ze seznamu tištěných položek na panelu. Uživatel tak má stálý přehled o průběhu tisku, což je zvlášť vhodné při hromadně prováděných operacích.

Šablony tištěných dokumentů jsou volně dostupné a jejich vzhled si může uživatel upravovat dle své potřeby pomocí MS Wordu. Jedinou podmínkou je zachovat v šablonách všechny autorem vytvořené záložky. Případné přidání dalších záložek nemá vliv na funkčnost programu (ten je ignoruje).

Při řešení jsem se musel v potřebném rozsahu seznámit s COM rozhraním a objektovým modelem MS Excelu a MS Wordu. Na využití instancí jejich tříd jsem postavil celé řešení ve Visual Basicu. Vlastní program je bez těchto dvou programů instalovaných na příslušném počítači nepoužitelný, není však pevně vázán na jejich určitou verzi (minimálně musí být verze 7.0). Pro práci s inicializačním souborem využívá COM knihovnu Elements.dll z mé vlastní produkce.

Souhrnné informace

Vytvořeno:
2000

Vyžadovaný SW:
MS Excel 7.0 nebo vyšší, MS Word 7.0 nebo vyšší

Využívaný SW:
 

Vývojové nástroje:
Visual Basic 6

Použité technologie:
COM, OLE, ActiveX

Moje práce:
Kompletní tvorba zadaného projektu na vytvoření požadovaného programu.