3 min to read
Outlook i addin 1/2

Udało mi się napisać pierwszy w życiu addin do outllooka. Nie wyobrażam sobie żeby nie uczcić takiej okazji postem ozdobionym tutorialem (projekt na GITHUB).
Zaczyna się dosyć prosto. Wybieramy nowy projekt w Visual Studio z menu Office/SharePoint -> Office Add-ins -> Outlook 2013 and 2016 VSTO Add-in:
Po stworzeniu projektu widzimy klasę ThisAddIn z tak naprawdę 1 metodą. Nic specjalnego. Shutdown’a mamy nie używać [wp-svg-icons icon=”smiley” wrap=”i”]
public partial class ThisAddIn
{
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
}
Sprawdźmy teraz co możemy do naszego pluginu dodać przez stworzenie nowego elementu.
Jak widać na powyższym zrzucie możemy dodać Region albo Ribbon.
Ribbon jest to nowa zakładka/wstążka która pojawi się po uruchomieniu plugginu. Możemy wybrać dwa rodzaje Ribbona xml i designer. Zaczynamy zabawę z Addinem - więc designer.
Dodaje element Ribbon (visual designer) który nazywamy SunTab
i moim oczom ukazuje się taki piękny widok:
To co możemy zrobić to ustawić właściwości samej zakładki - klikamy w obszarze “najwyższego poziomu” na kontrolkę OfficeRibon i przechodzimy do properties przez skrót F4 albo right click
To co jest najważniejsze w tej chwili dla nas to właściwość RibbonType.
Możemy w niej zdecydować gdzie nasza zakładka ma się pojawiać. Każdy tutorial jest z mailami, to ja dla odmiany pokażę jak to zrobić z spotkaniami.
Wybieramy Microsoft.Outlook.Appointment oraz Microsoft.Outlook.MeetingRequest.Send.
OfficeRibon posiada kolekcję zakładek. Każdej zakładce możemy ustawić nazwę, etykietę i controlId.
O ile etykieta i nazwa dla funkcjonowania addina jest nieistotna to controlId już jest. Zależnie od tego jak ustawimy ControlIdType Office/Custom to mamy możliwość kontrolowania czy dodajemy zawartość naszej zakładki do już istniejącej, czy tworzymy zupełnie nową zakładkę. Na razie spróbujmy stworzyć własną zakładkę.
Przejdźmy do samej zawartości naszej zakładki. Można do niej dodawać grupy, a do każdej grupy kontrolki. Na przykład takie:
Tam gdzie na zakładce jest napis group1 przeciągam kontrolkę button i ustawiam jej tytuł i chcę obrazek.
Żeby mieć obrazek należy go dodać do projektu z właściwością build action ustawioną na none i przeciągnąć go do zasobów aplikacji.
Po modyfikacjach panelu grupy u mnie w designerze wygląda to teraz tak:
Zrobiłem dwuklik na przycisku i automatycznie stworzył się event jak na WinFormsowo podobny twór przystało. Do treści zdarzenia dodaje prosty alert.
private void button1_Click(object sender, RibbonControlEventArgs e)
{
MessageBox.Show("Jutro znowu gorąco! Kup klimę!");
}
Zasłużyliśmy, żeby zobaczyć efekt naszej pracy. Rozpocznijcie debugowanie. Outlook uruchomi się automatycznie. Wybierzcie kalendarz, nowe spotkanie i zakładkę “Pogoda”.
Teraz kliknijcie przycisk “Sprawdź pogodę”- jeśli wyświetla się alert - jest wszystko dobrze,
a jeśli nie to zepsuliście - wróćcie na początek
Wszystko pięknie, ale jak…
- dodać grupę do istniejącej zakładki?
- podpiąć formularz?
- przekazać dane z formularza do istniejącego obiektu spotkania?
- przekazać dane do exchange’a?
- odnaleźć się w dokumentacji?
Na powyższe pytania znajdziecie odpowiedzi w kolejnym moim wpisie dotyczącym addinów. Mam nadzieję, że się podobało i nie było zbyt szczegółowo [wp-svg-icons icon=”smiley” wrap=”i”]
Testowy projekt jest do pobrania na githubie: http://github.com/asienicki/HelloAddin
http://sienicki.dev/outlook-i-addin-2-z-2/
Comments