phpRS            

Dnešní datum: 10. 09. 2010   | Hlavní stránka | Seznam rubrik | Kniha návštěv |  
  Hlavní menu
Hlavní stránka
Seznam rubrik
Fotogalerie
Kniha návštěv
Stáhněte si
Odkazy
Ankety
TOP 15

  Reklama


  Rubriky

  Poslouchám na síti


Spusť přehrávač


Spusť přehrávač


  Informace o webu
Všehochuť aneb od každého trochu

Content © 1991-2010 Slávek Rydval

View Slávek Rydval's profile on LinkedIn

Vytvořeno pomocí phpRS a Texy!

RSS kanál

Software

* Vývoj aplikací pro Microsoft Office System 2003

Vydáno dne 06. 06. 2005 (2512 přečtení)

Ačkoliv kancelářský balík společnosti Microsoft toho nabízí opravdu hodně, existuje mnoho oblastí, kde by se dal použít, kdyby se tu něco přitesalo a tam něco více přihnulo. Namísto stavění na zelené louce je možné použít odpovídající tesařské nástroje, o kterých bude v tomto článku řeč.

Již v ranních dobách stařičkého MS-DOSu bylo možné používat ve Wordu či Excelu makra, která se v novějších, okenních verzích píší ve Visual Basicu určeném pro aplikace. Vynecháme-li ne příliš robustní programovou komunikaci s Office pomocí DDE, pak je tu rozhraní COM, pomocí kterého se domlouvají jednak jednotlivé kancelářské aplikace mezi sebou a jednak s ostatními programy třetích stran. Díky tomu si lze např. s Wordem o dokumentu „pokecat“ dejme tomu z Windows Script Host nebo Delphi.

Pokud se vrátíme o pár verzí zpět, měli vývojáři k dispozici kromě uvedených možnosti speciální edici nazvanou Microsoft Office Developer Edition, která vyjma vlastního Office obsahovala další nástroje použitelné pro programování či ukládání dat (např. MS SQL Server nebo Exchange Server — licencované pro vývoj; pro podrobnější informaci o vývojářské edici pro Office XP viz její recenze v SWN 10/2002).

S verzí Office 2003 však došlo k výrazné a pro leckterého vývojáře nepotěšitelné změně, alespoň co se nároku na peněženku týče. Nejprve musíte mít licenci na vlastní Office System 2003 a dále (pravda volitelně) licenci na Visual Studio .NET. Další nutností je licence na Microsoft Visual Studio Tools for the Microsoft Office System 2003 (dále v textu jen VS Tools). Tuto trojici pak můžeme považovat za nástupce vývojářské edice Office. Bohužel však neexistuje nějaký rozumný upgradovací licenční program. Na druhou stranu lze pochopit snahu Microsoftu sjednotit své vývojové produkty pod jednu hlavičku, a tou je již zmíněné Visual Studio .NET. Vývojáři tak nemusí znát několik prostředí a systémů, ale mohou zůstat v jednom a vyvíjet pro více („)platforem(“).

Protože Microsoft Office System (dále v textu jen MOS) samo o sobě přináší novinky pro vývojáře, pojmu tuto recenzi jako pohled programátora na MOS i VS Tools víceméně dohromady.

Dotaz na význam zkratky XML se dnes již pokládá v každém pohovoru s uchazečem o zaměstnání, byť jde o sestru na skotské střiky nebo prodavače bublinek do vodováh. V MOS slouží XML (z pohledu vývojáře) pro komunikaci s okolním světem a to hlavně s webovými službami.

Jestliže dříve XML znal jen Excel a Access, dnes je to již i Word. Můžete tedy relativně jednoduše získávat data z jiných systémů nebo jim naopak informace poskytovat, aniž by o sobě věděly víc než názvy XML značek a jejich význam. Jediné, co programátor musí udělat je namapovat dané značky na obsah dokumentu ve Wordu či Excelu. K dispozici je vizuální nástroj ukazující XML schémata připojená k dokumentu.

Data v XML lze získat i z datového zdroje, resp. ze zdroje poskytujícího XML rozhraní (např. BizTalk Server nebo SQL Server 2000). Právě díky uvedeným nástrojům lze spolupracovat s ostatními podnikovými systémy vybudovaných nad SharePoint Serverem.

Uložení dokumentů může být také v XML a neměl by být problém (schválně používám podmiňovací způsob) je převést do něčeho jiného.

Word dokáže pracovat nejen s XML dokumentem, ale pokud si to uživatel přeje, ukládat dokument včetně formátování a dalších informací v XML. To ale není vše. Programátor může kromě vlastního formátování textu získat i výsledky kontroly pravopisu, automatických změn či záznamy změnového řízení (Change tracking). Rozhodně jako XML editor bych ho ale nepoužíval. Myslím si, že použití Notepadu nebo XML Spy bude mnohem lepší postup. Přidávání nových značek není nijak intuitivní záležitost a stejně tak práce např. s DTD není na potřebné úrovni. Pro editaci XML lze použít i Excel, ale opět bych to viděl jako speciální úlohu než jako prostředek pro pravidelnou editaci XML souborů.

Pokud vaše exporty jsou v XML, můžete je programově vložit do Excelu a nechat jej provádět různé analýzy a uživateli pak zobrazit jen výsledky. Taktéž je umožněno využít vizuální nástroj pro snadné mapování mezi tabulkou XML a uživatelsky definovaným schématem XML.

Součástí Office System je i nová aplikace Microsoft Office InfoPath 2003, která vytváří formuláře k záznamu dat podle uživatelsky definovaného schématu XML. K formuláři lze pak přidat XSLT šablonu a informace tak zobrazit podle přání uživatele. V InfoPath lze nadefinovat i poměrně složité formuláře s hierarchickou strukturou či tabulkami.

Další členové MOS si s XML také poradí. Access umí provádět z/do XML import/export. Visio ukládá své modely ve formátu XML, takže např. vaše aplikace může vytvořit diagram dle libosti bez nutnosti znalosti prostředí Visia nebo jej mít nainstalované — zákazník si pak diagram načte do odpovídajícího ok­na.

Pro vývojáře jsou všechny XML schopnosti Office dostupné pomocí objektového modelu, takže je lze běžně využívat z libovolného jazyka, který dokáže pracovat s COM objekty.

Zaklínadlo webové služby je použito i v Office System. K tomu je zapotřebí mít k dispozici Microsoft Office 2003 Web Services Toolkit, který pomáhá při jejich vývoji. Výhodou je, že webové služby lze používat i rámci Office Visual Basic Editor (VBE). Jakmile se nastaví základní informace o službě (název, umístění, —), programátor může používat jejich metody jako u každé jiné třídy.

Velkou marketinkovou modlou již předchozí verze Office byly chytré značky (smart tags). S novou verzí přichází jejich drobné rozšíření — u každého typu značky lze říct, zda je dočasná (s datem vypršení platnosti), neuložitelná (vhodné pro posílání citlivých dokumentů do jiné společnost — např. personální agentury mohou nakrásně posílat životopisy bez kontaktních údajů na uchazeče) a nestálá (používané pro případ špatného rozeznání značky). Je samozřejmé, že se značkami lze opět pracovat jako s XML.

Pojďme se nyní podívat na to hlavní, a tím je doplněk Visual Studia .NET VS Tools. Co to vlastně je? Jde o kolekci nástrojů umožňující jednoduchou tvorbu aplikací, které mají využívat prostředí MOC. Z názvu vyplývá, že je určen pro platformu .NET a tedy, že k vývoji není nutné znát Visual Basic, ale je možné použít libovolný .NET jazyk.

VS Tools se skládají z několika částí, ve stručnosti se podívejme na jednotlivé z nich.

Základní složkou je vlastní Microsoft Visual Studio Tools Office System, který se naintegruje do Visual Studia .NET 2003 a slouží pro vývoj projektů převážně nad Wordem a Excelem v jazycích Visual Basic .NET a Visual C# .NET (ostatně pro tyto dvě aplikace a dva jazyky se vytvoří projektové šablony, ze kterých lze v případě nového projektu vycházet).

Pokud nemáte Visual Studio .NET, pak lze využít druhou část dodávky a tou je Microsoft Visual Basic .NET Standard Edition. Díky ní můžete vytvářet a šířit své aplikace (ne nutně postavené nad MOS). Pro vývoj větších projektů ale kvůli většímu pohodlí a vyšší míře volby doporučuji celé VS.NET.

Dalším dílkem stavebnice je Microsoft Office Access 2003 Developer Extensions určený pro vytvoření, testování a nasazování aplikací nad Accessem. Součástí je i možnost bezplatného šíření Access Runtime s vaší aplikací. Rozhodně bych však sáhl po posledním produktu, který je ze světa opravdových databází a tím je Microsoft SQL Server 2000 Developer Edition s možností zdarma předat zákazníkovi MSDE.

Protože poslední tři jmenované produkty nejsou z pohledu této recenze důležité (např. MS SQL Server 2000 byl recenzován v SWN 6/2001, VS Basic .NET byl popsán v rámci recenze celého VS.NET 2003 v SWN 8/2003), budu se věnovat opravdu jen a pouze první části, tedy VS Tools.

Před instalací VS Tools je nutné přesvědčit se, zda jsou správně nainstalované Word i Excel s volbou podpory .NET a pak samozřejmě VS.NET 2003. Poté lze přistoupit k vlastní instalaci VS Tools, po které se v dialogu s výběrem nového projektu zobrazí nová větev s nabídkou projektů pro Word a Excel v jazycích C# a Visual Basic. K dispozici jsou tři šablony: Excel Workbook, Word Document a Word Template. Po vybrání se vytvoří nový projekt se dvěma soubory: AssemblyInfo.vb nebo AssemblyInfo.cs (v závislosti na zvoleném jazyku) a soubor obsahující třídu odpovídající dokumentu Office.

Jakmile máte vytvořen projekt, můžete se zcela libovolně realizovat dle přání zákazníka. Lze se ponořit do tabulek v Excelu či textu ve Wordu, můžete vytvořit své dialogy případně reagovat na události aplikace nebo přidat další příkazy na lištu. Jen pro představu zde uvádím tři řádky kódu, které v první buňce excelovského sešitu zobrazí pověstný pozdrav světa:

Excel.Worksheet thisWorkSheet =
  (Excel.Worksheet)thisWorkbook.Worksheets[1];
Excel.Range WriteRange =
  thisWorkSheet.get_Range("A1","A1");
WriteRange.Value2 = "Ahoj světe!";

Pro upřesnění je nutné dodat, že vývojáři mají k dispozici jmenný prostor Microsoft.Office (konkrétně Excel použitý v ukázce je z Microsoft.Of­fice.Interop.Ex­cel), ze kterého se těží téměř pokaždé, je-li nutné pracovat s MOS (případně jsou další jmenné prostory jako například Microsoft.Vbe).

Základní myšlenka spouštění projektu je celkem jednoduchá. Excel resp. Word ihned po načtení dokumentu zjišťuje přítomnost jeho dvou vlastností _AssemblyLocation0 a _AssemblyName0. Pokud existují, načte se Visual Studio Tools for the Microsoft Office System Assembly Loader, což je knihovna s neřízeným kódem zodpovědná za načtení a spuštění vámi vytvořeného projektu (assembly).

Po vytvoření vašeho řešení přichází na řadu nasazení k zákazníkovi. Distribuční balík může obsahovat pouze dva soubory — soubor s dokumentem a assembly. Oba soubory lze umístit jak na lokální disk, tak na síť (jak intranet, tak i Internet) nebo každý zvlášť (resp. dokument na lokální disk a assembly na síť). Ve všech třech případech se však očekává, že klient má nainstalovaný jak .NET Framework 1.1 tak i Office 2003. Podle umístění je pak ještě potřeba upravit bezpečnostní politiku.

Další popis VS Tools by se věnoval víceméně možnostem tříd v uvedených jmenných prostorech, ale to si myslím, že je mimo rámec recenze. Proto případné zájemce odkazuji na stránky MSDN, kde se o nich dozvíte vše potřebné.

Závěr

Díky podpoře XML v systému Office System se tento balík dostal opět o několik mílových kroků dál. Podpora webových služeb může z dokumentu udělat poměrně mocný nástroj.

Dále kromě již standardní možnosti používat Visual Basic for Application tu je nadstavba pro Visual Studio .NET, která dokáže rozšířit současné schopnosti Office o další, často mnohem sofistikovanější, které budou šité přímo na míru zákazníkovi.

Pro vývojáře pro starší verze Office však může jít ze začátku o složitější krok, protože neznají-li platformu .NET, budou se ji muset nejprve naučit.

Obrázky

Volba nového projektu ve VS.NET.
Microsoft Visual Studio Tools for the Microsoft Office Syste

Editace XML dokumentu ve Wordu se zobrazenou strukturou XML nepatří mezi nejpřívětivější.
Microsoft Visual Studio Tools for the Microsoft Office Syste

InfoPath umožňuje vytvářet poměrně složité formuláře pro editaci XML dokumentů.
Microsoft Visual Studio Tools for the Microsoft Office Syste

Průvodce nového projektu pro Office System se stará i o lokální politiku bezpečnosti.
Microsoft Visual Studio Tools for the Microsoft Office Syste

Plusy, mínusy, závěr

Plusy

  • Podpora XML (byť je stále co vylepšovat).
  • Podpora webových služeb.
  • Jednoduchá integrace do světa .NET.

Mínusy

  • De facto neexistující vývojářská edice Office System.
  • Komplet dražší než dříve existující vývojářská edice.
  • Ne zcela přívětivá editace XML ve Wordu.
  • Dokument uložený v XML je zbytečně složitý.

Závěr

  • Vývoj pro Office System se posouvá do Visual Studia .NET.

Kontakt

  • Microsoft CZ
  • Cena Microsoft Visual Studio Tools for Microsoft Office System: Kč 17 800
  • Cena Microsoft Office System: Kč 15 000

Tento článek byl napsán pro časopis Softwarové noviny 1/2005.

Upozornění: tento text neprošel redakční úpravou, takže je tak, jak byl napsán včetně případných chyb. Žádná část tohoto článku nesmí být použita bez předchozího souhlasu autora.

Seznam mých dalších článků je v tomto přehledu.



[Akt. známka: 0 / Počet hlasů: 0] 1 2 3 4 5

Celý článek | Autor: Slávek Rydval | Počet komentářů: 0 | Přidat komentář | Informační e-mailVytisknout článek

  Čtenář
Jméno:
Heslo:


Registrace | Info
Zapomenuté heslo

  Vyhledávání

Hledej
na Nawebce!


Rozšířené vyhledávání

  Kalendář
<<  Září  >>
PoÚtStČtSoNe
  1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30    

  Reklama


rkEdit především pro vývojáře
rkEdit především pro vývojáře