You are on page 1of 18

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG

TWJ KOSZYK
DODAJ DO KOSZYKA

CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK

CZYTELNIA
FRAGMENTY KSIEK ONLINE

Wydawnictwo Helion
ul. Kociuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl

Office 2003.
Programowanie
Autor: Ty Anderson
Tumaczenie: Grzegorz Kowalczyk
ISBN: 83-246-0171-6
Tytu oryginau: Office 2003 Programming:
Real World Applications
Format: B5, stron: 512
Zaprojektuj i napisz wasne aplikacje dla MS Office 2003
Wykorzystaj moliwoci jzyka VB.NET.
Pocz aplikacje z baz danych.
Zintegruj skadniki pakietu Office.
Pakiet MS Office ju od pierwszych wersji umoliwia automatyzowanie pracy
najpierw narzdziem wykorzystywanym w tym celu byy makra, potem jzyk VBA.
Nowa wersja Microsoft Office, oznaczona symbolem 2003, pozwala na tworzenie
aplikacji za pomoc jzyka Visual Basic. Dziki temu twrcy aplikacji dla pakietu Office
mog korzysta z moliwoci oferowanych przez platform .NET i narzdzia, takie jak
Visual Studio Tools for Office oraz Information Bridge Framework. Dodatkow zalet
jest pena obsuga standardu XML, co pozwala na korzystanie z technologii Web
Services. Wykorzystujc t technologi, programici mog tworzy bardzo
rozbudowane i wydajne aplikacje.
Czytajc ksik Office 2003. Programowanie, nauczysz si pisa wasne programy
dla MS Office 2003. W kadym z jej rozdziaw znajdziesz przykadowy projekt
aplikacji. Dowiesz si, w jaki sposb do budowania programw uywanych
w pojedynczym dziale firmy, a nawet w caej korporacji, wykorzystywa nowe
moliwoci, udostpniane przez Visual Studio .NET oraz .NET Framework,.
Zapoznasz si z zasadami tworzenia praktycznych rozwiza biznesowych dla pakietu
Office. Poznasz sposoby wykorzystywania usug sieciowych i baz danych, napiszesz
wasne dodatki COM oraz zastosujesz w aplikacjach znaczniki Smart Tag.
Architektura aplikacji dla pakietu Office
Generator prezentacji Power Point
Obsuga dokumentw Worda
Wysyanie wiadomoci e-mail w oparciu o wyraenia regularne
Praca z Visual Studio Tools for Office
Zastosowanie dokumentw inteligentnych oraz usug sieciowych
Tworzenie znacznikw Smart Tag
Zastosuj praktyczne aplikacje w firmie

Spis treci
O autorze ......................................................................................... 9
Wprowadzenie ................................................................................ 11
Rozdzia 1. Tworzenie aplikacji dla pakietu Office przy uyciu jzyka VB .NET ..... 19
Architektura aplikacji .....................................................................................................20
Warstwa bazy danych ...............................................................................................20
Warstwa logiki biznesowej .......................................................................................21
Warstwa prezentacji: Microsoft Office .....................................................................23
Scenariusz przykadowy: Bravo Corp .............................................................................25
Strategia biznesowa Bravo Corp ...............................................................................26
Strategia rozwoju Bravo Corp ..................................................................................27
Zalety biznesu ...........................................................................................................27
Podsumowanie ................................................................................................................31

Rozdzia 2. Generator prezentacji ...................................................................... 33


Projektowanie Generatora prezentacji ............................................................................34
Scenariusz biznesowy .....................................................................................................37
Tworzenie bazy danych ..................................................................................................37
Tworzenie szablonw PowerPoint ..................................................................................39
Tworzenie dodatku add-in Generator prezentacji ......................................................40
Interfejs IDTExtensibility2 .......................................................................................42
Tworzenie projektu dodatku add-in ..........................................................................43
Wymagane komponenty dodatku Generator prezentacji ..........................................48
Tworzenie klasy appPPT ..........................................................................................49
Tworzenie formularza Settings oraz klasy UserSettings ...........................................52
Tworzenie formularza GetUpdates ...........................................................................64
Tworzenie formularza ListPresentations ..................................................................68
Tworzenie klasy Connect .........................................................................................71
Kompilacja dodatku Generator prezentacji ...............................................................78
Tworzenie kreatora dopasowania prezentacji .................................................................78
Tworzenie klasy WizardInfo ....................................................................................79
Tworzenie formularza PPTWizard ...........................................................................88
Tworzenie moduu Main ..........................................................................................94
Skadanie wszystkich klockw w jedn cao ...............................................................94
Uruchamianie Kreatora z poziomu dodatku add-in ..................................................94
Podsumowanie ................................................................................................................96

S:\ Sylwia\pdf\Office 2003. Programowanie\!!Spis.doc

Office 2003. Programowanie

Rozdzia 3. Generator dokumentw ................................................................... 97


Przebieg procesu tworzenia dokumentw .......................................................................98
Projektowanie Generatora dokumentw .......................................................................100
Scenariusz biznesowy ...................................................................................................102
Modyfikacja bazy danych Bravo Corp .........................................................................103
Tworzenie szablonw dokumentw Word ....................................................................103
Konfiguracja pliku danych programu Outlook .............................................................105
Tworzenie dodatku add-in ............................................................................................108
Klasa appOutlook ...................................................................................................110
Klasa formularza Documents .................................................................................124
Klasa formularza DocumentProcessor ....................................................................133
Formularz Settings ..................................................................................................148
Klasa UserSettings ..................................................................................................150
Klasa formularza GetUpdates .................................................................................154
Klasa Connect .........................................................................................................155
Podsumowanie ..............................................................................................................156

Rozdzia 4. Generator wiadomoci email ......................................................... 157


Projektowanie Generatora wiadomoci email ...............................................................158
Scenariusz biznesowy ...................................................................................................161
Zastosowanie wyrae regularnych ..............................................................................162
Tworzenie Generatora wiadomoci email .....................................................................165
Tworzenie folderu szablonw wiadomoci email ...................................................165
Tworzenie bazy kontaktw (obiekty ContactItem) .................................................165
Tworzenie przykadowych szablonw wiadomoci email ......................................166
Budowanie dodatku COM add-in ...........................................................................169
Klasa BravoMenu ...................................................................................................189
Formularz Settings ..................................................................................................201
Klasa UserSettings ..................................................................................................204
Podsumowanie ..............................................................................................................208

Rozdzia 5. Aplikacja do obsugi zgosze serwisowych .................................... 209


InfoPath i usugi sieci Web ...........................................................................................210
Projektowanie aplikacji do obsugi zgosze serwisowych ...........................................212
Scenariusz biznesowy Bravo Corp ...............................................................................216
Tworzenie tablic bazy danych .......................................................................................217
Tworzenie usugi sieci Web aplikacji do obsugi zgosze serwisowych .....................218
Projekt usugi sieci Web .........................................................................................219
Plik web.config .......................................................................................................220
Klasa EventIssues.asmx ..........................................................................................221
Klasa Config.vb ......................................................................................................236
Modu Globals.vb ...................................................................................................238
Klasa EventIssue.vb ................................................................................................241
Klasa EventIssueTask.vb ........................................................................................244
Testowanie usugi sieci Web do obsugi zgosze serwisowych ............................249
Tworzenie formularzy InfoPath aplikacji do obsugi zgosze serwisowych ...............250
Formularz EventIssuesForm ...................................................................................251
Formularz Task .......................................................................................................260
Tworzenie strony WWW EventIssueTracking.aspx ................................................262
Projektowanie strony WWW EventIssueTracking ............................................263
Zdarzenia ................................................................................................................265
Metody waciwoci ...............................................................................................269
Podsumowanie ..............................................................................................................269

S:\ Sylwia\pdf\Office 2003. Programowanie\!!Spis.doc

Spis treci

Rozdzia 6. Konsolidator wydatkw budetowych ............................................ 271


Projektowanie Konsolidatora budetu ..........................................................................273
Scenariusz biznesowy ...................................................................................................280
Tworzenie pliku szablonu budetu oraz pliku podsumowania ......................................281
Tworzenie pliku BudgetTemplate.xls .....................................................................282
Dodawanie zabezpiecze arkusza ...........................................................................284
Tworzenie pliku BudgetSummary.xls ....................................................................285
Formularz frmLineItems .........................................................................................286
Modu basSecurity ..................................................................................................292
Modu basToolbar ..................................................................................................296
Modu basMain .......................................................................................................299
Modu ThisWorkbook ............................................................................................301
Testowanie szablonu budetu .................................................................................302
Tworzenie silnika Konsolidatora budetu .....................................................................302
Formularz frmSettings ............................................................................................304
Modu basConfig ....................................................................................................307
Modu basMain .......................................................................................................310
Modu ThisWorkbook ............................................................................................322
Modu basSecurity ..................................................................................................323
Modu basToolbar ..................................................................................................324
Dystrybucja dodatku .....................................................................................................326
Podsumowanie ..............................................................................................................326

Rozdzia 7. System rejestracji czasu pracy ...................................................... 327


Projektowanie systemu Karta pracy ..............................................................................329
Scenariusz biznesowy ...................................................................................................333
Tworzenie centralnej bazy danych ................................................................................334
Konfiguracja ustawie bezpieczestwa .NET ...............................................................335
Tworzenie usugi sieciowej systemu Karta pracy .........................................................337
Plik web.config .......................................................................................................339
Klasa TimeManagerWeb.asmx ...............................................................................340
Klasa Config.vb ......................................................................................................348
Klasa Globals.vb .....................................................................................................349
Klasa Hours.vb .......................................................................................................350
Klasa Project.vb ......................................................................................................352
Klasa User.vb .........................................................................................................353
Testowanie usugi sieci Web ..................................................................................354
Tworzenie aplikacji Karta pracy: Wprowadzanie .........................................................355
Tworzenie projektu aplikacji Karta pracy:
Wprowadzanie przy uyciu pakietu Visual Studio Tools for Office ....................356
Formularz TimeManagerLogin ...............................................................................368
Formularz SaveDialog.vb .......................................................................................371
Tworzenie aplikacji Karta pracy: Raporty ....................................................................375
Plik app.config ........................................................................................................375
Klasa OfficeCodeBehind (ThisWorkbook.vb) .......................................................376
Formularz TimeManagerLogin.vb ..........................................................................381
Podsumowanie ..............................................................................................................383

Rozdzia 8. Znacznik Account Details Smart Tag ............................................. 385


Information Bridge Framework ....................................................................................386
Usugi sieciowe IBF ...............................................................................................388
Metadane IBF .........................................................................................................388
Kontrolki interfejsu uytkownika IBF ....................................................................389
Znaczniki Smart Tag wsppracujce z IBF ...........................................................390

S:\ Sylwia\pdf\Office 2003. Programowanie\!!Spis.doc

Office 2003. Programowanie


Projektowanie znacznika Account Details Smart Tag ..................................................394
Scenariusz biznesowy ...................................................................................................399
Instalacja i konfiguracja przykadowego systemu Information Bridge Framework ......400
Tworzenie pliku XML z informacj o klientach ...........................................................402
Tworzenie znacznika Account Details Smart Tag ........................................................402
Odwoania ..............................................................................................................403
Klasa Recognizer.vb ...............................................................................................404
Rejestrowanie znacznika Account Details Smart Tag ............................................410
Konfiguracja ustawie bezpieczestwa ..................................................................411
Testowanie znacznika Account Details Smart Tag .................................................411
Podsumowanie ..............................................................................................................414

Rozdzia 9. System obsugi zamwie na imprezach targowych ........................ 415


Praca z dokumentami inteligentnymi ............................................................................417
Komponenty dokumentw inteligentnych ..............................................................420
Projektowanie systemu obsugi zamwie ...................................................................422
Scenariusz biznesowy ...................................................................................................424
Tworzenie pliku schematu XML Order.xsd .............................................................424
Tworzenie dokumentu zamwienia (plik OrderForm.doc) ...........................................426
Przygotowywanie bazy danych .....................................................................................430
Tworzenie usugi sieciowej SubmitOrder .....................................................................432
Klasa OrderWS.asmx .............................................................................................434
Testowanie usugi sieciowej ...................................................................................443
Tworzenie frontonu dokumentu inteligentnego ............................................................444
Tworzenie podzespou action handler (klasa DocActions) .....................................445
Konfiguracja ustawie bezpieczestwa ..................................................................472
Tworzenie Manifestu oraz pakietu rozszerzajcego ...............................................473
Doczanie Manifestu oraz pakietu rozszerzajcego ..............................................475
Podsumowanie ..............................................................................................................476

Dodatek A Instalacja i dystrybucja zarzdzanych dodatkw add-in ................... 477


Problemy z kodem zarzdzanym ..................................................................................478
Mechanizmy bezpieczestwa pakietu Office 2003 .................................................478
Shim niezarzdzany dodatek COM add-in ...............................................................481
Tworzenie niezarzdzanego dodatku COM add-in shim przy uyciu VB 6 ...........482
Testowanie dodatku shim .......................................................................................483
Podpisywanie cyfrowe dodatku shim .....................................................................484
Testowanie podpisanego dodatku shim ..................................................................487
Instalacja dodatku shim oraz zarzdzanego dodatku COM add-in .........................488
Podsumowanie ..............................................................................................................489

Skorowidz...................................................................................... 491

S:\ Sylwia\pdf\Office 2003. Programowanie\!!Spis.doc

Rozdzia 1. Tworzenie aplikacji dla pakietu Office przy uyciu jzyka VB .NET

19

Rozdzia 1.

Tworzenie aplikacji
dla pakietu Office
przy uyciu jzyka VB .NET
Nasza ksika powicona jest zagadnieniom zwizanym z tworzeniem uniwersalnych
aplikacji biznesowych przy uyciu jzyka Visual Basic oraz pakietu Microsoft Office.
Kady rozdzia wyjania, w jaki sposb utworzy inn, w peni funkcjonaln aplikacj
biznesow. Kiedy zbierzesz je razem, przekonasz si, e:
1. Stanowi doskona ilustracj tego, w jaki sposb moesz utworzy bardzo

uyteczne aplikacje dla pakietu Office, ktrych funkcjonalno czsto


nie jest ograniczona tylko do zasobw Twojego komputera osobistego.
2. Dostarczaj przykadw, w jaki sposb mona wykorzysta nowe moliwoci

rozbudowy pakietu Office, dostarczane przez Visual Studio .NET oraz .NET
Framework.
3. Dostarczaj przykadw metod tworzenia rozwiza dla pakietu Office,

ktre s gotowe do zastosowania w rzeczywistych, praktycznych aplikacjach


biznesowych (nasze przykady by moe nie zawsze s najpikniejsze
i najbardziej efektywne, niemniej jednak w peni funkcjonalne i uyteczne).
4. S dla Ciebie znakomitym punktem odniesienia oraz rdem inspiracji przy

tworzeniu wasnych aplikacji dla pakietu Office.


Dziki poszczeglnym aplikacjom zapoznasz si z wieloma kluczowymi zagadnieniami i tajemnicami jzyka VB .NET oraz zagadnieniami zwizanymi z programowaniem pakietu Office. Oczywicie w atwy sposb bdziesz mg rwnie rozbudowywa poszczeglne aplikacje i dopasowywa je do wasnych, specyficznych wymaga.

S:\ Sylwia\pdf\Office 2003. Programowanie\r01-06.doc

19

20

Office 2003. Programowanie

Aby uatwi Ci skoncentrowanie si na zagadnieniach zwizanych z biznesow


stron funkcjonalnoci omawianych aplikacji, w zdecydowanej wikszoci kodw
rdowych nie umieszczalimy kodu przeznaczonego do obsugi bdw, ktry z pewnoci bdzie wymagany w gotowych aplikacjach produkcyjnych.

Architektura aplikacji
Aby zapewni optymaln wydajno dziaania dla wszystkich uytkownikw (zarwno
wewntrznych, jak i zewntrznych), wszystkie omawiane tutaj aplikacje posiadaj architektur n-warstwow (ang. n-tier architecture) patrz rysunek 1.1. W zdecydowanej wikszoci przypadkw zosta zachowany tradycyjny podzia na warstw
prezentacji, warstw logiki biznesowej oraz warstw bazodanow. Takie podejcie do
zagadnienia architektury zapewnia aplikacji wymagan elastyczno, poniewa logika
biznesowa jest odseparowana i niezalena od oglnego projektu aplikacji oraz zasad
rzdzcych jej funkcjonowaniem.
Rysunek 1.1.
Podstawowa
architektura aplikacji

Warstwa bazy danych


W niniejszej ksice nie kadlimy zbyt duego nacisku na szczegowe omawianie
zagadnie zwizanych z warstw danych poszczeglnych aplikacji. Zazwyczaj zapleczem aplikacji (ang. backend) jest baza SQL Server (lub Access), ktra spenia funkcj
centralnego repozytorium dla zasobw aplikacji (przykadowo przechowywane s w niej
zatwierdzone szablony prezentacji dla programu PowerPoint patrz rozdzia 2.).

20

S:\ Sylwia\pdf\Office 2003. Programowanie\r01-06.doc

Rozdzia 1. Tworzenie aplikacji dla pakietu Office przy uyciu jzyka VB .NET

21

Warstwa logiki biznesowej


Z punktu widzenia projektowania aplikacji mona bez wahania stwierdzi, e to wanie w tej warstwie zawsze jest najwicej pracy do wykonania. To wanie w niej implementujemy reguy logiki biznesowej, ktrych zadaniem jest zwikszenie funkcjonalnoci danej aplikacji pakietu Office. Aby osign nasz cel, bdziemy korzysta
z wielu rnych technik, poczwszy od technik tradycyjnych (takich jak zastosowanie
VBA oraz dodatkw COM add-ins do automatyzacji procesu tworzenia dokumentw
programu Word; patrz rozdzia 3.) a do najnowoczeniejszych, zaawansowanych rozwiza, takich jak tworzenie usug XMLWeb Service, ktre bd przechowyway i udostpniay podstawowe mechanizmy sterujce przepywem informacji (ang. workflow
engine), jak to zostao opisane w rozdziale 5.
Omwimy teraz w skrcie niektre z wykorzystywanych technologii, sposoby ich uywania oraz demonstrowane przez nie kluczowe techniki i rozwizania programistyczne.

Dopasowywanie aplikacji pakietu Office przy uyciu Visual Basic .NET


Cay pakiet aplikacji Office posiada o wiele wiksze moliwoci ni pojedynczy,
przecitny uytkownik bdzie w stanie kiedykolwiek wykorzysta, a pomimo to nadal
nie jest w stanie sprosta wszystkim bez wyjtku wymaganiom biznesowym. Na
szczcie nie stanowi to jakiego wikszego problemu, poniewa rozszerzenie funkcjonalnoci aplikacji pakietu Office tak, aby speniay jakie okrelone, specyficzne
wymagania danego biznesu jest rwnie proste, jak napisanie odpowiedniego programu w jzyku Visual Basic .NET. W ksice bdziemy bardzo intensywnie korzystali
z Visual Basic .NET do tworzenia wasnych rozszerze aplikacji Office, dopasowanych
do naszych indywidualnych potrzeb. Przykadowo VB .NET bdzie wykorzystywany
midzy innymi do:
Tworzenia zarzdzalnych dodatkw COM add-ins (takich jak na przykad

generator prezentacji PowerPoint, opisywany w rozdziale 2.).


W poczeniu z Visual Studio Tools for Office do doczania kodu do skoroszytw

Excela (takiego jak System rozliczania czasu pracy, omawiany w rozdziale 7.).
Do tworzenia nowych tagw inteligentnych (ang. smart tags), takich jak

np. tag o nazwie Account Details, o ktrym bdzie mowa w rozdziale 8.,
oraz do tworzenia inteligentnych dokumentw, takich jak System zamwie
targowych, opisywany w rozdziale 9.
W poczeniu z VBA do automatyzacji czsto wykonywanych, powtarzalnych

zada pakietu Office, takich jak tworzenie szablonw dokumentw programw


Word czy Excel (patrz rozdziay 2. i 6.).

XML i usugi Web Services


Transakcje w biznesie s nieodcznie powizane z przetwarzaniem duych iloci
rnego rodzaju informacji. Oferty, broszury marketingowe, zamwienia, faktury czy
wiadomoci poczty elektronicznej to zaledwie niektre z wielu rnych rodzajw
informacji generowanych i przetwarzanych kadego dnia.

S:\ Sylwia\pdf\Office 2003. Programowanie\r01-06.doc

21

22

Office 2003. Programowanie

Wraz z rosnc popularnoci jzyka XML (ang. eXtensible Markup Language) i pojawieniem si jego implementacji w wielu aplikacjach wykorzystywanych w zastosowaniach biznesowych, takich jak pakiet Office i baza danych SQL Server, informacja staa si o wiele bardziej mobilna ni kiedykolwiek wczeniej. Dzieje si tak,
poniewa dokumenty XML zawieraj nie tylko dane, ale rwnie struktur danych.
Oznacza to, e niezalenie od tego, gdzie znajdzie si dany dokument XML, odpowiednia aplikacja zawsze bdzie w stanie waciwie zinterpretowa przechowywane
w nim informacje.
Nasza ksika nie jest podrcznikiem jzyka XML. Zakadamy po prostu, e dysponujesz odpowiedni wiedz i posiadasz praktyczne umiejtnoci korzystania z XML-a
oraz powizanych z nim skadnikw. Wicej dodatkowych informacji na temat XML-a
moesz znale na witrynie internetowej http://www.xml.org.

Z punktu widzenia zagadnie biznesowych kluczowym elementem caego procesu


jest zaoenie, e aplikacje, ktre su do generowania i przetwarzania danych, s
mniej krytyczne ni same dane. Gwny nacisk jest pooony na dane oraz sposb ich
konsumowania. Poprzez implementacj XML-a rne rda danych mog bez
wikszego wysiku zosta poczone w jedn, spjn cao. XML pozwala duym
rodowiskom korporacyjnym na szybk zmian wymaga dotyczcych danych i dziki temu na niemal natychmiastowe nadanie za zmieniajcymi si w czasie wymaganiami klienta. Na przykad nowe aplikacje mog by tworzone tak, aby speniay
specyficzne wymagania klienta, bez koniecznoci zwracania szczeglnej uwagi na
natur zaplecza biurowych systemw komputerowych klienta. Przy wykorzystaniu
XML-a dane z aplikacji mog by szybko i atwo przeksztacone do formatu wymaganego przez architektur docelowych systemw biurowych klienta. XML oraz usugi
Web Services zostan bardziej szczegowo omwione w rozdziaach 5., 8. i 9.
W kilku rozdziaach niniejszej ksiki skorzystalimy z implementacji naszych wasnych schematw XML, bdcych integralnymi czciami rozwiza przedstawianych
w danych rozdziaach. W naszej ksice nie uywalimy adnych komercyjnych
schematw XML firmy Microsoft, takich jak np. WordML.

Usugi Web Services s wykorzystywane w trzech przykadowych aplikacjach. Usugi


Web Services to inaczej zestaw metod, z ktrych poprzez sie mog korzysta rne
aplikacje. W naszej ksice usugi Web Services dostarczaj dodatkowej logiki biznesowej dla rozwiza zbudowanych w oparciu o aplikacje pakietu Office. Usugi Web
Services wykorzystuj jzyk XML oraz protok HTTP, co powoduje, e dostarczane
przez nie zcentralizowane zasoby logiki biznesowej mog by wykorzystywane przez
wiele rnych aplikacji. Dobrym przykadem takiego zastosowania jest system rejestracji czasu pracy opisywany w rozdziale 7. System ten zawiera midzy innymi dwa
oddzielne skoroszyty Excela, ktre korzystaj ze zdalnej logiki biznesowej zapewniajcej mechanizmy uwierzytelniania uytkownika.
Korzystajc z usug Web Services utworzymy odpowiednie metody, ktrych zadaniem bdzie dostarczanie odpowiednich danych dla aplikacji (np. pobieranie z bazy
danych i przekazywanie aplikacji listy aktywnych uytkownikw systemu) oraz

22

S:\ Sylwia\pdf\Office 2003. Programowanie\r01-06.doc

Rozdzia 1. Tworzenie aplikacji dla pakietu Office przy uyciu jzyka VB .NET

23

umoliwianie dostpu do danych takim aplikacjom pakietu Office jak np. InfoPath
(patrz rozdzia 5.). Przekonasz si rwnie, w jaki sposb usuga Web Services moe
wsppracowa z now platform Microsoft Office Information Bridge Framework1
(patrz rozdzia 8.).

Inne techniki kodowania


Oprcz technologii, o ktrych wspominalimy, omwimy rwnie nastpujce kluczowe zagadnienia zwizane z tworzeniem kodu aplikacji:
Zastosowanie wyrae regularnych do tworzenia wasnych tagw

(ang. InfoTags) w celu opisywania miejsc wstawiania danych w szablonach


wiadomoci pocztowych, a nastpnie do zamiany tagw na odpowiednie
dane (patrz rozdzia 4.).
Wykorzystywanie i modyfikacja paskw polece menu pakietu Office w celu

zapewnienia uytkownikom szybkiego dostpu do kluczowych mechanizmw


wasnych aplikacji (patrz rozdziay 2., 3., 4. i 6.). Dodatkowo omwimy
rwnie sposoby dynamicznego tworzenia przyciskw sterujcych na pasku
polece, dostosowujcych si do typw poszczeglnych elementw
odnajdywanych w folderze pakietu Outlook (patrz rozdzia 4.).
Tworzenie formularzy kreatorw, ktre prowadz uytkownika poprzez

proces tworzenia wasnych prezentacji (patrz rozdzia 2.).


Tworzenie oraz instalacja zarzdzalnych dodatkw COM add-in, ktre bd

traktowane przez pakiet Office 2003 jako zaufane.

Warstwa prezentacji: Microsoft Office


W epoce dot-com narodzi si silny trend do tworzenia nowych, webowych wersji
istniejcych aplikacji o krytycznym znaczeniu dla prowadzenia interesw firmy. W rezultacie projektanci i programici zwrcili si w stron sieci Internet i zaczli tworzy
aplikacje wykorzystujce mechanizmy standardowych przegldarek sieciowych, ktre
daway uytkownikowi moliwoci podobne jak ich pene, instalowane na kadym
komputerze odpowiedniki. Pomimo e taka strategia osigna jeden ze swoich celw, jakim bya zawsze dostpna informacja, to jednak uytkownicy takich aplikacji musieli ponie stosunkowo wysokie koszty wdroenia takiego rozwizania. Na
przykad wiele mechanizmw i rozwiza aplikacji biurkowych, ktre sprzyjao
zwikszaniu produktywnoci pracownikw, zostao utraconych, a uytkownicy musieli si boryka z niezbyt satysfakcjonujcymi dowiadczeniami z pracy z aplikacjami
webowymi. To wszystko byo jednak tylko dodatkiem do drastycznego zwikszenia
iloci czasu, jaki deweloperzy i programici musieli powica na tworzenie aplikacji
webowych i dodawanie po stronie klienta odpowiednich skryptw zwikszajcych
funkcjonalno programw wykorzystujcych przegldarki sieciowe.
1

Wicej szczegowych informacji na ten temat znajdziesz na stronie:


http://msdn.microsoft.com/office/understanding/ibframework/default.aspx przyp. tum.

S:\ Sylwia\pdf\Office 2003. Programowanie\r01-06.doc

23

24

Office 2003. Programowanie

Po pojawieniu si na rynku w roku 2001 platformy .NET Framework i gwatownie rosncej, powszechnej akceptacji usug Web Services pojawi si kolejny, nowy trend.
Chodzio o umoliwianie standardowym aplikacjom klienckim wykorzystywania interfejsw webowych. Bez adnej przesady moemy jednak powiedzie, e do pojawienia si takiej tendencji w ogromnym stopniu przyczyniy si moliwoci atwego
przenoszenia informacji, jakie daj ML oraz usugi Web Services.
Wspania zalet aplikacji omawianych w naszej ksice jest to, e z perspektywy
uytkownika wykorzystuj one w znacznej mierze normalny, dobrze znany kademu interfejs pakietu Office. Pakiet Microsoft Office by i jest najbardziej udanym
i najbardziej rozpowszechnionym zestawem aplikacji biurowych w historii komputeryzacji. Nikt przecie chyba nie zaprzeczy, e posiadajc ponad 90% udzia w rynku
pakietw biurowych, Office jest de facto standardem w dziedzinie tworzenia i przetwarzania dokumentw biurowych.
Oprcz dziaania z podstawowymi szablonami PowerPointa, arkuszami kalkulacyjnymi Excela i dokumentami Worda, aplikacje opisywane w naszej ksice mog by
wykorzystywane rwnie w niektrych nowych technologiach wprowadzonych w pakiecie Office 2003.

XML a pakiet Office 2003


Obsuga XML jest prawdopodobnie jedn z najwaniejszych i najbardziej znaczcych
nowoci, jakie zostay zaimplementowane w pakiecie Office 2003. Mechanizm obsugi XML pozwala deweloperom na wykorzystywanie w aplikacjach Office takich
jak Excel, InfoPath, Word czy Access danych, ktre pochodz z wielu innych rde.
Dziki zastosowaniu XML-a moliwa staje si pena integracja danych biznesowych
w poszczeglnych aplikacjach.
Warto zauway, e dziki zastosowaniu XML-a poszczeglne aplikacje pakietu Office
mog by wykorzystywane jako inteligentne klienty korporacyjnych systemw biurowych. Przykadowo, w takim scenariuszu, Word mgby by uywany do tworzenia
dokumentw zamwie zgodnych z okrelonym schematem XML. Po utworzeniu takiego zamwienia dane XML byyby przekazywane do firmowego systemu ksigowego.
W rozdziale 9. omawiamy nieco uproszczon wersj systemu wprowadzania zamwie,
utworzonego na bazie inteligentnych dokumentw Worda.

Dokumenty inteligentne
Dokumenty inteligentne wykorzystuj kod .NET do aktualizacji panelu zada pakietu
Office tak, aby zawiera on odpowiednie elementy sterujce oraz informacje zalene od
kontekstu biecego dokumentu. Mechanizm taki wykorzystuje odpowiednie schematy XML doczone do dokumentw Worda czy te Excela, poprzez ktre .NET jest
w stanie zebra odpowiednie informacje o kontekcie biecego dokumentu.
Dokumenty takie dostarczaj deweloperom potn struktur do tworzenia dokumentw zawierajcych pewne elementy inteligencji. Patrzc z perspektywy uytkownika, dokumenty inteligentne to nic innego jak podrasowane dokumenty Excela,

24

S:\ Sylwia\pdf\Office 2003. Programowanie\r01-06.doc

Rozdzia 1. Tworzenie aplikacji dla pakietu Office przy uyciu jzyka VB .NET

25

Worda czy te programy InfoPath, ktre wiedz, jakie informacje powinny zosta
do nich wprowadzone oraz ktre zapewniaj odpowiednie narzdzia (dostpne zazwyczaj w postaci specjalnie przygotowanych formularzy, informacji pobranych z innych systemw zewntrznych itp.) pozwalajce na szybszy i atwiejszy proces przygotowania ostatecznych, finalnych wersji dokumentw.

Formularze InfoPath
InfoPath jest now aplikacj pakietu Office 2003 Professional. Jest to program ukierunkowany na tworzenie rozbudowanych, dynamicznych formularzy, z ktrych dane
s zapisywane bezporednio do bazy danych lub te innego systemu zaplecza korporacyjnego (takich jak korporacyjne systemy finansowe, systemy CRM, systemy obsugi sprzeday i marketingu itp.). InfoPath jest oparty cakowicie na XML, a jego
przeznaczeniem jest tworzenie odpowiednich struktur XML z danymi; s one nastpnie przekazywane do usug Web Services, baz danych, serwerw SharePoint lub dowolnych innych aplikacji, ktre potrafi obsugiwa dane XML. Jedn z najciekawszych cech programu InfoPath jest to, e aby mie moliwo wsppracy z usugami
Web Services, bazami danych czy te serwerami SharePoint, uytkownik nie musi
tworzy adnego kodu. Wszystkie tego typu poczenia s obsugiwane poprzez odpowiednie okna dialogowe, ktre powoduj, e przekazywanie dokumentw XML
utworzonych przez InfoPath do danej usugi Web Services nie stanowi ju duej adnego problemu (patrz rozdzia 5.).

Scenariusz przykadowy: Bravo Corp


Aplikacje opisywane w naszej ksice s bardzo uniwersalne; postaramy si zilustrowa
ich uyteczno i elastyczno pokazujc, w jaki sposb mog one pomc fikcyjnej
firmie Bravo Corp w prowadzeniu dziaalnoci biznesowej, uproszczeniu procesw
biznesowych oraz zwikszeniu produktywnoci i efektywnoci jej pracownikw.
Bravo Corp specjalizuje si w dostarczaniu towarw i usug zwizanych z organizacj
i zarzdzaniem targw, wystaw i innych imprez masowych. Zdecydowana wikszo
zyskw firmy jest generowana poprzez zarzdzanie takimi imprezami w imieniu klientw (zazwyczaj s nimi due organizacje branowe i firmy, ktrych nazwy mona
znale w rankingu Fortune 500) oraz dostarczanie rnego rodzaju usug pomocniczych dla wystawcw. Zazwyczaj odbywa si to tak, e dana firma lub organizacja
podpisuje z Bravo Corp odpowiedni umow o przygotowanie i prowadzenie danej
imprezy, poniewa sama nie posiada ani umiejtnoci, ani moliwoci ani zasobw,
niezbdnych do podjcia prby samodzielnego poprowadzenia takiego przedsiwzicia.
Bravo Corp zajmuje si wszystkimi aspektami danego wydarzenia, wczajc w to
opracowanie spraw zwizanych z jego logistycznym zabezpieczeniem, przygotowywaniem pokazw i innych materiaw, urzdzeniem stoiska przed rozpoczciem imprezy, usuniciem stoiska po jej zakoczeniu itd. Oczywicie lista wiadczonych usug
na tym si nie koczy, ale nawet taki niewielki jej fragment moe nieco przybliy
obraz dynamicznej natury biznesu prowadzonego przez Bravo Corp.

S:\ Sylwia\pdf\Office 2003. Programowanie\r01-06.doc

25

26

Office 2003. Programowanie

W cigu ostatnich dziesiciu lat firma Bravo Corp gwatownie si rozwijaa, cigle
rozszerzajc zakres swojej dziaalnoci, co spowodowao ogromny wzrost zapotrzebowania na nowe narzdzia informatyczne, ktre pozwoliyby pracownikom firmy na
lepsz komunikacj z klientami oraz oglny wzrost efektywnoci, zwaszcza w zakresie codziennych obowizkw. W naszej ksice opisujemy ca seri aplikacji zbudowanych na bazie pakietu Microsoft Office, ktre doskonale speniaj rosnce potrzeby i wymagania firmy Bravo Corp.

Strategia biznesowa Bravo Corp


Zarzd firmy Bravo Corp postanowi utworzy nowy zesp pracownikw, PIE (ang.
Productivity Improvement and Efficency). Zesp PIE celowo nie by zbyt liczny, co
pozwalao i nadal pozwala na podejmowanie decyzji bez koniecznoci angaowania
czego w rodzaju komitetu zarzdzajcego. W PIE pracuj ludzie z rnych dziaw
firmy. Zesp by odpowiedzialny za tworzenie strategii poszczeglnych wydarze
oraz projektowanie narzdzi niezbdnych do spenienia najwaniejszych wymaga
poszczeglnych dziaw. Wanie takie plany byy zawsze traktowane priorytetowo,
co zreszt byo wymuszone przez wzrost wartoci wiadczonych usug (a tak naprawd
stop zwrotu z inwestycji).
Dziaajc w duchu rozpoczcia nowego projektu, zesp PIE postanowi przyj
takie podejcie do opracowywania strategii biznesowych, ktre podkrelaoby i niejako uwypuklao wymagania uytkownikw biznesowych we wszystkich oddziaach firmy. Podstawowe zaoenia nowych strategii byy nastpujce: do tej pory
to uytkownicy biznesowi musieli si dostosowywa do wymaga i rozwiza proponowanych przez dzia IT, a zatem tym razem zamiast kontynuowa taki model
dziaania zadecydowano, e to kierownicy poszczeglnych dziaw oraz personel
usugowy bd mogli formuowa wymagania i okrela cele nowych strategii.
Celem takiego postpowania byo utworzenie optymalnego zestawu mechanizmw i funkcjonalnoci, ktre bd w jak najlepszym stopniu speniay wymagania i oczekiwania klientw. Najlepszym sposobem na osignicie zaoonego celu
byo zezwolenie na podejmowanie najwaniejszych decyzji tym, ktrzy najlepiej
rozumiej strategie biznesowe firmy Bravo Corp. Dzia IT oczywicie nadal odgrywa bardzo istotn rol w dyskusjach nad okrelaniem priorytetw poszczeglnych wymaga, aczkolwiek teraz gwnymi jego zadaniami jest dostarczanie
wymaganych rozwiza.
W skad zespou wchodzi jeden, bardzo dowiadczony meneder z brany IT, ktrego
zadaniem jest doradzanie czonkom zespou oraz wprowadzanie ich w meandry i zawioci biecej architektury systemw informatycznych Bravo Corp. Takie podejcie
znacznie zredukowao nieco irytujc tendencj dziau IT do torpedowania wielu dobrych rozwiza, nawet zanim zostan one dobrze, w peni zrozumiane.

26

S:\ Sylwia\pdf\Office 2003. Programowanie\r01-06.doc

Rozdzia 1. Tworzenie aplikacji dla pakietu Office przy uyciu jzyka VB .NET

27

Strategia rozwoju Bravo Corp


Jak zapewne zauwaye, Bravo Corp intensywnie wykorzystuje oprogramowanie
Microsoft Office, instalujc wszystkie aplikacje wchodzce w skad pakietu Microsoft
Office Professional Edition 2003 na laptopach wszystkich uytkownikw (Outlook,
Excel, Word, Access, InfoPath itd.).
Zesp zadecydowa, e pakiet Office nadal bdzie wykorzystywany jako interfejs
uytkownika, czyli inaczej mwic, warstwa prezentacji. Jest to w peni zrozumiay
wybr, gdy uytkownicy doskonale znaj ju ten pakiet i czuj si pewnie, pracujc
z poszczeglnymi aplikacjami wchodzcymi w skad pakietu Office. Zesp PIE
skoncentrowa swoje techniczne wysiki na tym, aby w maksymalnym stopniu wykorzystywa poszczeglne aplikacje pakietu Office. Zwaywszy na doskonae wsparcie,
jakie daje pakiet Office dla jzyka XML, jak rwnie moliwoci wykorzystywania
rnych rde danych (bezporednio, poprzez usugi Web Services i inne), zesp
PIE doszed do wniosku, e pakiet Office doskonale bdzie si nadawa do tego celu,
dostarczajc uytkownikowi wygodnego, znanego i bogatego interfejsu, ktry dodatkowo bdzie si charakteryzowa odpowiedni elastycznoci, umoliwiajc w razie
potrzeby atw rozbudow i zmian jego funkcjonalnoci.
A zatem na przykadzie firmy Bravo Corp postaramy si przedstawi Ci, w sposb
maksymalnie praktyczny, sposoby implementacji odpowiednich technologii, wdraania technik programowania oraz architektury systemowej. Pozwol Ci one na skuteczne rozwizywanie problemw, na jakie moesz si natkn, prowadzc rzeczywist dziaalno biznesow.

Zalety biznesu
Jak to ma zazwyczaj miejsce w gwatownie rozwijajcych si firmach, portfel zamwie Bravo Corp sta si bardzo zrnicowany. Przez dugie lata Bravo Corp
skupiaa swoje wysiki na realizacji zamwie od duych klientw prowadzcych
due imprezy masowe (targi, wystawy itp.). Obecnie pod uwag brane s rwnie
zamwienia od mniejszych klientw, ktrzy czsto chc na danej wystawie mie
stoisko prezentujce osignicia swojej firmy i reklamujce dostarczane przez ni
towary. Takie zrnicowanie wielkoci zamwie, jak rwnie ogromna dywersyfikacja klientw firmy ujawnia zapotrzebowanie na zestaw narzdzi informatycznych, ktre bd w stanie poprawi metody, jakimi Bravo Corp spenia wymagania
swoich klientw. W tabeli 1.1 przedstawiamy list problemw, z jakimi Bravo Corp
musi si boryka, a take krtkie opisy aplikacji z naszej ksiki, ktre s w stanie
rozwiza takie problemy.

S:\ Sylwia\pdf\Office 2003. Programowanie\r01-06.doc

27

S:\ Sylwia\pdf\Office 2003. Programowanie\r01-06.doc

28

Generator szablonw wiadomoci


pocztowych jest narzdziem
opartym o aplikacj Outlook,
ktra pozwala pracownikom
Bravo Corp na tworzenie
szablonw wiadomoci
pocztowych z odpowiedni,
predefiniowan zawartoci.
Szablony takie mog by
nastpnie wykorzystywane
do szybkiego tworzenia
gotowych wiadomoci.

Wiele pyta zadawanych przez


klientw mona zakwalifikowa
do kategorii najczciej zadawane
pytania. W przeszoci
pracownicy Bravo Corp musieli
za kadym razem indywidualnie
odpowiada kademu klientowi
na takie pytania.

Odpowiedzi na proby
klientw o informacje
zajmuj zbyt wiele czasu.

Rozdzia 4.

Rozdzia 3.

Word, Outlook, zarzdzalne


dodatki COM add-ins, SQL Server

Generator dokumentw zosta


zbudowany tak, aby na podstawie
standardowych, zatwierdzonych
wzorcw automatycznie tworzy
odpowiednie dokumenty
i wstawia do nich w odpowiednie
miejsca dane klienta.

Pracownicy dziau sprzeday


i marketingu spdzaj zbyt wiele
czasu na tworzeniu dokumentw
dla klientw (kontrakty, oferty itp.),
a zbyt mao czasu bezporednio
z klientem. Co gorsza, wiele takich
dokumentw jest podatnych
na bdy popeniane podczas
wprowadzania danych.

Zbyt wiele czasu trzeba


powica na tworzenie
czsto uywanych
dokumentw.

Outlook, wyraenia regularne,


zarzdzalne dodatki COM add-ins

Rozdzia 2.

PowerPoint, zarzdzalne dodatki


COM add-ins, szablony
dokumentw PowerPoint oparte
na VBA, SQL Server

Generator prezentacji zosta


zbudowany tak, aby korzysta
z zestawu zatwierdzonych,
standardowych szablonw
prezentacji, co pozwala na
automatyzacj procesu tworzenia
prezentacji poprzez zastosowania
atwych w uyciu kreatorw
prezentacji.

Zespoy sprzeday i marketingu


tworzc kolejne prezentacje dla
klientw musz za kadym razem
wynajdywa koo i tworzy
prezentacj od podstaw.

Rozdzia

Brak spjnego formatu


prezentacji uywanych
w dziale sprzeday.

Uyte narzdzia

Opis rozwizania

Opis problemu

28

Problem

Tabela 1.1. Problemy firmy Bravo Corp oraz aplikacje, jakich mona uy w celu ich rozwizania

Rozdzia 1. Tworzenie aplikacji dla pakietu Office przy uyciu jzyka VB .NET

28
Office 2003. Programowanie

29

Konsolidator budetu jest


narzdziem pozwalajcym na
tworzenie spjnych budetw
w poszczeglnych dziaach caej
firmy. Dodatkowo narzdzie to
pozwala na atwe wygenerowanie
skonsolidowanego budetu caej
firmy, opartego na odpowiednich
danych z poszczeglnych dziaw.
System Karta Pracy to narzdzie
zapewniajce uytkownikom
Bravo Corp atwy w uyciu
interfejs umoliwiajcy szybkie
i sprawne wprowadzenie
do systemu rozlicze
odpowiednich informacji
o czasie pracy.

Proces opracowywania budetu


w poszczeglnych dziaach
firmy jest niespjny i tworzy
dodatkowe problemy podczas
tworzenia skonsolidowanego
budetu caej firmy.

Bravo Corp nie posiada adnych


narzdzi, ktre pozwalayby na
ledzenie i analiz danych
zwizanych z czasem, jaki
pracownicy powicaj na
wykonanie poszczeglnych
zada. W rezultacie firma boryka
si z problemami z efektywnym
zarzdzaniem kosztami pracy.

Brak standardowego
procesu opracowywania
budetu.

Brak szczegowych
raportw czasu pracy.

29

Wdroone narzdzie pozwala


na lepsze ledzenie wszystkich
zdarze zwizanych z identyfikacj
i rozwizywaniem problemw.

Problemy w dziale obsugi klienta


s zmor kadej firmy. W Bravo
Corp brakowao do tej pory
narzdzia, ktre pozwalaoby
na koordynacj wysikw
pracownikw dziau obsugi
klienta w celu bardziej sprawnego
rozwizywania problemw
z dostpnoci usug.

Sabe metody
rozwizywania problemw
z dostpnoci usug.

S:\ Sylwia\pdf\Office 2003. Programowanie\r01-06.doc

Opis rozwizania

Opis problemu

Problem

Excel, Visual Studio Tools for


Office, usugi Web Services,
Access

Excel, VBA

InfoPath, usugi Web Services,


Access

Uyte narzdzia

Tabela 1.1. Problemy firmy Bravo Corp oraz aplikacje, jakich mona uy w celu ich rozwizania cig dalszy

Rozdzia 1. Tworzenie aplikacji dla pakietu Office przy uyciu jzyka VB .NET

Rozdzia 7.

Rozdzia 6.

Rozdzia 5.

Rozdzia

Rozdzia 1. Tworzenie aplikacji dla pakietu Office przy uyciu jzyka VB .NET
29

Office 2003. Programowanie

S:\ Sylwia\pdf\Office 2003. Programowanie\r01-06.doc

System zamwie targowych


zosta tak zaprojektowany,
aby poprawi i zautomatyzowa
proces skadania zamwie.

Bravo Corp oferuje podczas


targw, wystaw itp. swoim
klientom szeroki zakres rnego
rodzaju produktw, od biurek
i krzese poprzez lampy, dywany
a do elementw okablowania
sieciowego i komputerw.
Bravo Corp uywao do tej pory
papierowych formularzy, na
ktrych klienci umieszczali swoje
zamwienia, ale ze wzgldu na
szeroki zakres produktw taki
sposb skadania zamwie by
czsto powodem irytujcych
bdw i pomyek.

Brak wydajnego systemu


zamwie targowych
i zarzdzania nimi

30

Tagi inteligentne, Word,


Information Bridge Framework

Tag inteligentny Account Details


jest narzdziem, ktre pobiera
informacje o danym kliencie
z innych systemw biurowych
i udostpnia je uytkownikowi
w dokumencie programu Word
(dziki temu uytkownik ma
natychmiastowy dostp do takich
danych bezporednio podczas
edytowania dokumentu).

Bravo Corp posiada kilka


systemw o zasigu
korporacyjnym (ERP, CRM itp.),
w ktrych przechowywane s
rnego rodzaju informacje
o klientach. Dane takie nie
zawsze s bezporednio dostpne
dla uytkownika; nierzadko
wymagane jest uruchomienie
dodatkowych aplikacji.

Brak dostpu do danych


na temat klientw,
przechowywanych
w innych systemach
biurowych.

Dokumenty inteligentne, Word,


XML, usugi Web Services, SQL
Server

Uyte narzdzia

Opis rozwizania

Opis problemu

Problem

Tabela 1.1. Problemy firmy Bravo Corp oraz aplikacje, jakich mona uy w celu ich rozwizania cig dalszy

30

Rozdzia 9.

Rozdzia 8.

Rozdzia

30
Office 2003. Programowanie

Rozdzia 1. Tworzenie aplikacji dla pakietu Office przy uyciu jzyka VB .NET

31

Podsumowanie
Office 2003 jest czym wicej ni tylko pakietem aplikacji rezydujcym na komputerze
tego czy innego uytkownika. W rzeczywistoci od wielu lat projektanci i programici zajmuj si tworzeniem aplikacji na platform Office, zwikszajcych produktywno uytkownikw poprzez uproszczenie procesw biznesowych, szybkie dostarczanie
danych z systemw zewntrznych i wiele innych. Poczwszy od wersji 2003, pakiet
Office, dziki swoim nowym mechanizmom i zaimplementowanym technologiom, jest
w stanie lepiej ni kiedykolwiek obsugiwa aplikacje dedykowane rnego rodzaju
procesom biznesowym.
Zapoznajc si z kolejnymi rozdziaami nauczysz si, w jaki sposb w firmie Bravo
Corp zostay zaimplementowane nowe strategie biznesowe poprzez samodzielne budowanie omawianych przez nas aplikacji. W kadym rozdziale znajdziesz szczegowe
omwienie danej aplikacji od etapu projektowania a do wdroenia.

S:\ Sylwia\pdf\Office 2003. Programowanie\r01-06.doc

31

You might also like