VSTO i Add-in Express 2010

by Marcin

Od pewnego czasu mam okazję pracować z Visual Studio oraz dodatkiem do niego – Add-in Express™ 2010 (http://www.add-in-express.com). Ponieważ moje wrażenia związane z dodatkiem są bardzo pozytywne, chciałbym podzielić się z Wami kilkoma wrażeniami z użytkowania całości.

Od razu zaznaczyć muszę, że jestem nowicjuszem jeśli idzie o programowanie VSTO i Visual Studio. Wyjście poza VBA uważam jednak za bardzo dobre posunięcie i będę rozwijał się w tym kierunku. Jest to zasadniczo temat na inny (może nawet całą serię) artykuł, ale w skrócie (bazując na bardzo wstępnej analizie całości) widzę, że wiele rzeczy można teraz zrobić łatwiej i szybciej niż przy pomocy VBA. Nie o Visual Studio ma byc jednak ten wpis (choć obiecuję, że do VSTO powrócę), a o Add-in Express 2010. Dla jasności chciałbym jeszcze zaznaczyć, że prawie od początku mojej pracy z VS 2010 omawiany dodatek był zainstalowany więc nie mam wielkiego doświadczenia w pracy z „gołym” VS.

Za projektem Add-in Express stoją programiści z Białorusi, co przyznać muszę było dla mnie bardzo pozytywnym zaskoczeniem – ot, nie wiem jak Wy, ale ja niezbyt często trafiam na produkcje naszego wschodniego sąsiada (może i trafiam, ale nie jestem tego świadomy, co w sumie na jedno wychodzi). W każdym razie „gęba” mi się uradowała.

Piersze wrażenie – po kilku tygodniach obcowania z dodatkiem – jest takie, że go po prostu bardzo lubię. Róznego rodzaju dodatki, z którymi miałem i mam do czynienia (czy to do Excela, przeglądarek czy systemu jako całości ) dzielą się na te naprawdę użyteczne i profesjonalnie wykonane (efekt „wow!”) , takie które „są bo są” (kiedyś tam zainstalowałem, ale nie korzystam) oraz dodatki, które wyglądają paskudnie i nie sprawiają w żadnym razie dobrego wrażenia. Add-In Express zdecydowanie należy do tej pierszej grupy. Korzystam często i z przyjemnością, pomaga mi w pracy, a i dodatkowe „tło” w postaci strony internetowej i supportu, sprawia bardzo profesjonalne wrażenie (zadowolony jestem także bardzo z osobistego kontaktu jaki miałem z Białoruską firmą.)

Jak już wpsomniałem Add-in Express jest dodatkiem instalowanym „na” Visual Studio. Dodaje on do naszych projektów dodatkową warstwę kodu, która ułatwia wiele spraw. Podstawową zaletą Add-In Express, przynajmniej dla mnie, jet to, że usuwa on wszystkie komplikacje związane z pisaniem pod różne wersje Office’a. Umożłiwia on nam bowiem wygenerowanie kodu działającego na wybranej wersji Office’a (od 2000 do 2010). Dodatkowo, nasze dodatki uruchomią się na dowolnej wersji Windowsa z zainstalowanym frameworkiem .NET (2.0 – 4.0), aby wreszcie współpracować z VS od wersji 2005 to 2010. W rezultacie, pracując z Add-in Express możemy skupić się wyłącznie na pisaniu kodu. Reszta poniekąd dodaje się sama. Także przygotowywanie instalacyjnych wersji tworzonych dodatków zostaje usprawnione i jest to naprawdę szybkie i łatwe.

Postaram się zreszta pokazać na prostym przykładzie w jaki sposób można szybko i bezboleśnie przygotować dodatek Excela działający zarówno w wersji 2003 jak i 2007 i 2010.

Przykład:

Pracę z tworzonym dodatkiem rozpoczynamy w nieco inny sposób niż gdybyśmy to robiły na „gołym” VS. Po wybraniu „New project” z menu file, szablony Add-In Express znajdujemy w gałęzi „Other Project Types” > „Extensibility”.

Add-inExpress - Nowy projekt

Dla przypomnienia, bez dodatku wygląda to następująco:

Visual Studio - Nowy projekt

Po wybraniu ADX COM Add-in, ukazuje się naszym oczom kolejne okienko, w którym mamy możliwośc wyboru języka programowania, którym będziemy się posługiwać ( w moim przypadku jest to tylko Visual Basic) oraz wersję pakietu Office, pod którą będzie działać nasz dodatek. Oczywiście wybór ma swoje konsekwencje. Wybierając Office 2000 nie będziemy mogli korzystać ze wszystkich tych nowych elementów Office, które pojawiły się w późniejszych wersjach. W kolejnym kroku mamy możliwość wyboru aplikacji (Excel, Word, Outlook etc.), które będą obsługiwane przez nasz dodatek (no bo kto powiedział, że musi to być tylko jednak aplikacja). Po wybraniu odpowiednich opcji jesteśmy gotowi do pracy.

Add-in Express - Nowy Projekt

Nasze środowisko to w tej chwili VS oraz cała masa dodatkowego kodu (mój poziom motywacji nie nabrał jeszcze odpowiedniej wartości, aby ten kod analizować), którym add-in Express obudował nasz tworzony dodatek. Wszystko po to, aby nasza praca była łatwiejsza. Zacznijmy więc od dodania nowego „działu” do naszej Excelowej Wstążki, i umieszczenia w nim przycisku. Proszę zwrócić uwagę na wizualny edytor pokazujący dokłądnie to co dodajemy do Wstążki.

Zróbmy teraz to samo, ale dla starszej wersji Excela. Zamiast więc dodawać elementy do Wstążki, dodamy nowy pasek narzędziowy (command bar)

Add-in Express - Tworzenie projektu 2

Na koniec, do jednego i drugiego przycisku (Wstążka i pasek narzędzi) dodam zdarzenie „onClick” i napiszę prosty kod wyświetlający okienko z nazwą aktualnie zalogowanego użytkowanika. W ramach testu zarejestruję dodatek w rejestrze (co robi się wręcz banalnie prosto wybierając jedną z opcji menu – dodaną przez Add-in Express) i uruchomię mojego Excela. Jak widać, nowa pozycja na Wstążce pojawiła się i kliknięcie w przycisk wyświetla odpowiedni komunikat.

Add-in Express - Tworzenie projektu 3

Planowałem pokazać Wam, że będzie to również działać w Excelu 2003 (nowy pasek narzędzi), okazało się jednak, że nie mam zainstalowanego Excela w werjsi 2003. Tak więc, przynajmniej chwilowo, musicie uwierzyć mi na słowo. Tak jak w przypadku Excela 2007, po uruchomieniu wersji 2003, będziemy mieli dostęp do nowego paska narzędzi, na którym znajdzie się nasz przycisk, a owocem kliknięcia tego przycisku będzie ten sam komunikat jak w przypadku werjsi 2007 :)

Jak wspomniałem wcześniej, jestem zupełnie nowy w świecie VSTO.  Nie przeprowadzałem więc gruntownych testów efektywności. Można oczywiście założyc, że skoro Add-in express obudowuje VS dodatkowym kodem, to szybkość wykonywania może być nieco gorsza niż w przypadku gołego VS. I pewnie tak jest. Bazując jednak na kliku dodatkach przygotowanych dla działu finansowego mojego pracodawcy (powiedzmy sobie sczezrze, że milisekundowe różnice nie robią tu na nikim wrażenia) muszę przyznać, że różnica jest jak dla mnie niazauważalna. Za to wygoda użytkowania jak najbardziej. Do tematu będę jeszcze powracał, wraz z nabywaniem doświadczenia w programowaniu VSTO.

Reasumując, omawiany dodatek trafia u mnie na półkę często używanego i przydatnego oprogramowania.

Marcin

{ 6 comments… read them below or add one }


Fatal error: Cannot assign by reference to overloaded object in /home/klient.dhosting.pl/antiquus/excelblog.pl/public_html/wp-content/themes/thesis_182/lib/classes/comments.php on line 176