Sub
Sonda

Jakiego języka programowania używasz ?






http://komtech.pl/.


Pełną wersję artykułu można pobrać tutaj

Tworzenie rozwiązań Visual Studio Tools for Office

 

Jednym z najczęściej używanych pakietów biurowych jest niewątpliwie Microsoft Office. Jego budowa sprawiła, że stał się on jednocześnie jedną z pierwszych platform programistycznych. Wbudowana obsługa makr oraz Visual Basic for Application (VBA) pozwalały na rozbudowanie aplikacji, które niejednokrotnie integrowały się z bazą danych. Rozwój pakietu powodował jednocześnie rozwój możliwości programistycznych. Powoli zaczęto używać języków .NET do tworzenia aplikacji dla Office’a. Wraz z Microsoft Office 2003 pojawił się na rynku dodatek do Visual Studio o nazwie Visual Studio Tools for Office 2003. Dodatek ten umożliwiał integrację pakietu programistycznego z pakietem Office i pozwalał w bardzo prosty sposób na budowę jeszcze bardziej zaawansowanych aplikacji. Rozwiązania oparte na Microsoft Office mają sporo zalet. Po pierwsze – użytkownik pracuje z pakietem, którego interfejs jest bardzo dobrze znany. Programista ma dostępnych wiele standardowych elementów interfejsu użytkownika. Najważniejsze jest jednak to, że dzięki oparciu rozwiązania na Office, który z założenia jest gotową platformą aplikacyjną, rozwiązania powstają błyskawicznie i nie wymagają od programisty ogromnej i skomplikowanej wiedzy.
Wraz z rozwojem Office oraz narzędzi programistycznych rozwiązania przeznaczone na tę platformę stają się jednym z podstawowych typów projektów w Visual Studio. Jak widać na Rysunku 1, szablony Office dostępne są w jednej z głównych gałęzi i nie są już tylko standardowym dodatkiem. Stosowanie VSTO pozwala na stworzenie przewagi konkurencyjnej dla firm typu ISV oraz integratorów, ponieważ zwiększa prawdopodobieństwo zmieszczenia się w czasie i budżecie. Poza tym, ze względu na dużą popularność pakietu Office na rynku, rozwiązania te posiadają większą adopcję i są bardziej akceptowalne rynkowo. Dodatkowym czynnikiem jest możliwość stworzenia powtarzalnych aplikacji i większej możliwości ich masowej sprzedaży. Jedną z niebagatelnych korzyści z punktu widzenia klienta, jest ograniczenie kosztów szkoleń dla końcowych użytkowników.
Ale dlaczego nie VBA? Przecież VBA cały czas jest dostępny również w najnowszych wersjach pakietu Office 2007. VBA istnieje i jeszcze istnieć będzie, w chwili obecnej nie ma żadnych informacji, jakoby Microsoft miał się wycofać z tej technologii. Odpowiedzią na to pytanie jest konieczność zgodności wstecz z poprzednimi wersjami tego produktu. Jeśli mieliśmy aplikację napisaną za pomocą VBA dla Worda 97, to będzie ona również poprawnie pracować z wersją Office 2007. Jednak VBA to technologia z poprzedniej epoki. Jest bardzo ograniczona, szczególnie, jeśli chodzi o składnię języka, co powoduje znaczne ograniczenia funkcjonalności i elastyczności rozwiązań. Do zasadniczych problemów należy przechowywanie kodu wewnątrz dokumentu i brak sensownego zarządzania kodem, w tym zarządzania jego wersjami.
Co daje nam stosowanie VSTO? Przede wszystkim to 100% platformy .NET. Mamy możliwość tworzenia kodu w oparciu o Visual Basic lub C#. Mamy pełny dostęp do platformy .NET i jej składników, dzięki czemu możemy tworzyć skalowalne i wydajne aplikacje. Dodatkowo w prosty sposób możemy wykorzystać istniejące kontrolki, usługi sieciowe oraz korzystać z zewnętrznych źródeł danych. Z punktu widzenia bezpieczeństwa aplikacje te wykorzystują mechanizmy oferowane przez platformę .NET, czyli CAS, manifesty plików, itp., dzięki czemu nasze aplikacje są bezpieczne dla systemu operacyjnego i użytkownika. W VSTO możemy wyróżnić dwa rodzaje rozwiązań:
• rozwiązania na poziomie dokumentów, czyli między innymi:
• Custom Task Pane;
• dostosowanie wstążki
• AddIn w Word, Excel, InfoPath, Outlook;
• Actions Pane.
• rozwiązania na poziomie aplikacji, oferujące:
• izolację domen aplikacyjnych;
• możliwość zdalnej aktualizacji;
• wsparcie dla ClickOnce.
Historia VSTO przedstawiona jest na Rysunku 2. Zaczęła się od wersji 2003, gdzie dostępne były tylko elementy związane z dokumentami Word i Excel i tylko na poziomie dokumentów. Wraz z wersją 2005 pojawiły się szablony dla kolejnych elementów pakietu Office’a, a także rozszerzono funkcjonalność VSTO. Po wprowadzaniu na rynek Office 2007 pojawił się VSTO 2005 Second Edition, które pozwalało na tworzenie rozwiązań dla Office 2003 i Office 2007. Wraz z wersją Visual Studio 2008, VSTO stało się integralną częścią pakietu i zostało rozbudowane o kolejne elementy, jak współpraca z SharePoint Portal Server 2007. Przyjrzyjmy się poszczególnych elementom (Rysuenk 2), które możemy tworzyć za pomocą VSTO 2008.
Ribbon (Wstążka)
Elementem łączącym wszystkie elementy pakietu Office jest nowy rodzaj menu, zwany popularnie wstążką (ang. Ribbon). Na Rysunku 3 przedstawiona jest architektura takiej wstążki oraz jej elementy składowe, do których należy zakładka (ang. Tab), Grupa kontrolek (ang. Chunk) oraz kontrolka (ang. Control). Definicja wstążki zapisana jest w pliku XML i wygląda w sposób przedstawiony na Listingu 1.
Jak widać na załączonym listingu, poszczególne elementy tworzą hierarchiczną strukturę, gdzie elementem spinającym wszystkie składowe jest element . Programista ma możliwość tworzenia własnego menu albo poprzez ręczną modyfikację pliku XML albo w przypadku VSTO 2008, w sposób wizualny wykorzystując do tego celu technikę drag–and–drop. Aby stworzyć własną wstążkę, należy do projektu dodać nowy element typu Ribbon (tak jak na Rysunku 4). Po zatwierdzeniu wyboru pojawi się pusta wstążka, do której możemy dokładać poszczególne kontrolki. Rysunek 5 przedstawia taką pustą wstążkę oraz dostępne kontrolki, które możemy użyć.
Gdy już zbudujemy interfejs, możemy przystąpić do pisania kodu, który będzie odpowiednio reagował na polecenia użytkownika. Przykładowo, obsługa reakcji na wciśnięcie przycisku i pokazanie komunikatu, jeśli klawisz jest wciśnięty wygląda tak jak na Listingu 2. Zdefiniowanie wstążki to pierwszy krok do sukcesu. Drugim i ostatnim krokiem jest pokazanie naszej wstążki w dokumencie. W tym celu możemy posłużyć się następującym fragmentem kodu pokazanym na Listingu 3.

 

Task Pane
Kolejną, często używaną kontrolką jest Task Pane. Jest to element, który pojawia się zwykle po prawej stronie ekranu i zawiera dodatkowe funkcjonalności. Jako Task Pane działa pomoc w Office, element Glossary czy też słowniki. Jako programiści jesteśmy w stanie sami zbudować taki komponent. Task Pane tworzymy przy wykorzystaniu AddIn’ów, dzięki czemu możemy skorzystać ze wszystkich zalet, jakie oferuje nam ta technologia. Podstawą działania Task Pane jest kontrolka użytkownika, którą musimy stworzyć i która wypełnia nasz Task Pane. Kontrolkę użytkownika (user control) projektujemy dokładnie w taki sam sposób, jak standardowe elementy interfejsu.
Kod tej kontrolki musi odwoływać się do metod Excel’a lub Word’a poprzez zastosowanie elementów globalnych (ang. Globals). Dzięki nim mamy dostęp do poszczególnych komórek w arkuszu lub pojedynczych paragrafów w dokumencie. Przykładowo wstawienie wybranej daty z kalendarza stanowiącego element kontrolki użytkownika wygląda tak jak na Listingu 4. Dostęp do poszczególnych komórek możliwy jest przez zastosowanie konstrukcji:
(Excel.Worksheet)Globals.ThisAddIn.Application.ActiveSheet
Aby nasz Task Pane był widoczny w dokumencie, należy go wywołać i pokazać. Do tego celu stosujemy AddIn, gdzie wstawiamy następujący fragment kodu:
myUserControl1 = new MyUserControl();
Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane =
this.CustomTaskPanes.Add(myUserControl1, "My Task Pane");
myCustomTaskPane.Visible = true;
Smart Documents
VSTO pozwala programiście na tworzenie inteligentnych dokumentów, w których będziemy mogli wstawiać znaczniki reagujące na wpisywane w nich treści. Możliwe jest dzięki zestawowi różnych kontrolek w Toolbox, które pozwalają na tworzenie pól tekstowych, rozwijanych list, kalendarza czy pól odwołujących się do jakichś zewnętrznych danych.
Na Rysunku 6 przedstawiony został przykładowy dokument wraz z kontrolkami dla dokumentu typu Word. Podobne zestaw kontrolek jest dostępny dla Excela.
SharePoint Workflow
Jeśli tworzymy rozwiązania dla SharePoint Portal Server, to mamy możliwość stworzenia w prosty sposób przepływu pracy. VSTO wspiera proces tworzenia oraz, co bardzo ważne, przyśpiesza proces instalacji danego przepływy w SharePoint. Programista może zbudować rozwiązanie oparte na workflow poprzez:
• zbudowanie wyglądu przepływu;
• napisanie własnego kodu;
• dodanie zadań do przepływu;
• dodanie własnych formularzy.
Tworzenie przepływu dla SharePoint bez VSTO wymaga wykonania następujących kroków:
• stworzenie przepływu pracy w Visual Studio (wybranie szablonu);
• stworzenie pliku feature oraz określenie jego następujących właściwości:
• GUID;
• tytuł;
• opis;
• miejsca pliku manifest.
• zbudowanie szablonu przepływu i dodanie do niego:
• GUID;
• nazwa;
• opis.
• skompilowanie rozwiązania;
• podpisanie biblioteki oraz dodanie klucza z podpisem do rozwiązania;
• zaprojektowanie przepływu i napisanie kodu realizującego aktywności;
• instalacji danego przepływu w SharePoint;
• instalacja assembly w Global Assembly Cache;
• wydobycie klucza publicznego;
• dodanie klucza publicznego do definicji workflow;
• instalacja definicji feature w systemie SharePoint;
• instalacja workflow w systemie SharePoint;
• zrestartowanie serwera IIS;
• przypisanie workflow do odpowiedniej biblioteki dokumentów.
Aby stworzyć i uruchomić przepływ programista musi wykonać sporo czynności, w przypadku zastosowania VSTO 2008 lista ta ogranicza się do trzech pozycji:
• stworzenie przepływu pracy w Visual Studio (wybranie odpowiedniego szablonu);
• zaprojektowanie przepływu i napisanie odpowiedniego kodu realizującego aktywności;
• wciśnięcie klawisza F5.
Praca a VSTO 2008 pozwala na znaczne skrócenie czasu pracy z przepływami. Są one tworzone szybciej i prościej. O wszystkie pozostałe kroki zadba samo VSTO bez konieczności udziału programisty.
Podsumowanie
Jak widać, tworzenie rozwiązań dla Office’a jest sprawą prostą i przyjemną, dzięki czemu platforma Office może być również doskonałą platformą programistyczną pozwalającą na tworzenie skalowalnych i wydajnych rozwiązań. Visual Studio Tools for Office umożliwia programistom tworzenie zaawansowanych projektów przy minimalnym nakładzie pracy. Twórcy dostają pakiet, dzięki któremu możliwe jest stworzenie dowolnego elementu platformy, w tym rzeczy, które nie zostały wymienione w tym artykule, jak wymiana danych, programowanie Outlook, czy też wsparcie dla OpenXML. Aktualnie VBA przestało być podstawowym narzędziem programistycznym – stało się nim VSTO. Warto zastanowić się nad stworzeniem rozwiązań na miarę Office 2007.



sdjournal.org

http://isecman.org/

http://www.dragonia.pl/

http://www.tts.com.pl/

http://www.karierait.pl/