header image

Ustvarimo novo orodno vrstico v Outlooku

Objavil: P.J. | 5.08.2010 | 1 Komentar |

Kot sem omenil že v predhodnem prispevku, je veliko lažje makroje klicati tako, da ustvarimo novo orodno vrstico in vanjo postavimo gumbe, s katerimi pokličemo ustrezne makroje. To lahko storimo na dva načina. Če gre za enkratno nastavitev, potem se da to dokaj enostavno narediti ročno. Če pa želimo to vrstico distribuirati večim uporabnikom, potem je dobro spisati proceduro v VBA, ki to stori namesto nas.

Povezava Outlooka z Birokrat-om

Povezava Outlooka z Birokrat-om

V predhodnem prispevku smo tudi že  omenjali,  da lahko tako vkomponiramo v Outlook, da uvozi podatke o kontaktih (pa tudi o čem drugem) iz našega ERP sistema. Zadeva zgleda celovito in je enostavna za uporabo tudi manj veščim uporabnikom. Kako bi se torej lotili našega izziva.

Verjetno je že v prejšnjem prispevku kdo opazil, da rad ločim programsko kodo (izvajalno logiko) od podatkov, ki jih ta koda obdeluje (procesira). Zato bomo tudi tokrat uporabili XML datoteko, v kateri bomo shranili opise naših orodnih vrstic in gumbov na njih. Struktura takšne datoteke je povsem enostavna. Da bi si lažje predstavljali, si poglejmo kar primer, ki ga imamo tudi na sliki.

<CommandBars>
 <CommandBar Name="My Office Team" RowIndex="3" Visible="True">
  <Controls>
   <Control Type="10" Caption="Povezava z Birokrat" FaceID="65" Tooltip="" Action="" Visible="True">
    <Controls>
     <Control Type="1" Caption="Uvozi kontakte" FaceID="695" Tooltip="" Action="Import" Visible="True" />
     <Control Type="1" Caption="Izvozi kontakte" FaceID="1086" Tooltip="" Action="Export" Visible="True" />
     <Control Type="1" Caption="Nastavitve" FaceID="624" Tooltip="" Action="ShowFrmCFG" Visible="True" BeginGroup="True"/>
    </Controls>
   </Control>
  </Controls>
 </CommandBar>
</CommandBars>

Izhodiščno vozlišče smo poimenovali CommandBars in nam služi ko vsebnik za vse orodne vrstice, ki jih želimo dodati – lahko bi jih namreč želeli dodati več. Orodni vrstici določimo tri najpomembnejše atribute – to so njeno ime, položaj gledano od vrha navzdol in vidnost.

Podobno velja tudi za posamezne gumbe na orodni vrstici. Lastnost Type pomeni vrsto gradnika, pri čemer si velja zapomniti predvsem dve vrednosti. Prva predstavlja navaden gumb in ima vrednost 1, druga pa padajoči meni in ima vrednost 10. Slednja je tudi vsebnik, v katerem je lahko več gumbov (ali tudi podmenijev).

Poleg samega napisa na gumbu, velja omeniti še atribut FaceID, ki določa sličico pred gumbom. Teh je na voljo na stotine in izbiramo lahko med različnimi vrednostmi po lastnem okusu.

Atribut Action določa, kateri makro naj se izvede ob kliku na gumb ali meni. Če želimo ločiti dve skupini ukazov, nastavimo še atribut BeginGroup. Ko smo vse skupaj pripravili, se lotimo pisanja programskih vrstic v Visual Basicu.

Zaradi preglednejšega dela je smotrno opravilo razbiti na dve proceduri. Prva naj se ukvarja z branjem orodnih vrstic iz naše XML datoteke, druga pa naj na vsako izmed njih postavi ustrezne gumbe.

Makro si lahko ogledate med primeri na tem blogu. Za ogled makra sledite povezavi, oz. kliknite ikono na levi.

Makro: LoadCustomToolbars

Pomembno se mi zdi opozoriti na rekurzivni klic v drugi proceduri (LoadControls), s čimer pravzaprav dosežemo, da nam ni treba skrbeti, kako globoko gnezdimo podmenije, če uporabljamo menijski gumb. Sicer pa sta obe proceduri dokaj trivialni inikomur n ne bi smeli delati kakih težav. Obe se zgolj v zanki zapeljeta čez vsa vozlišča in ustvarjata ustrezne gradnike na orodni vrstici, skladno s parametri, ki jih prebereta iz XML datoteke.

Vse, kar nam še preostane storiti je, da v modul ThisOutlookSession dodamo proceduro Application_Startup in iz nje pokličemo našo funkcijo LoadCustomToolbars. Tako bo Outlook vsakič ob zagonu preveril, ali je naša orodna vrstica nameščena in če ni, jo bo pač samodejno namestil. Tako smo uspešno zaključili še en korak našega projekta prilagoditve outlooka za delo z Birokratom ali katerimkoli pač drugim ERP sistemom že.

Naslednjič se bomo pozabavali s shranjevanjem podatkov iz Outlooka v ERP in tako zaokrožili eno vsebinsko celoto. Do takrat pa vsem skupaj en prav lep pozdrav.

  • Share/Bookmark
Zapisano pod: Naredi si sam, Pisarna in poslovanje, Programiranje

Odzivi

Lep pozdrav iz Izole :lol:
http://noah.blog.siol.net/2010/08/15/165/

Pustite komentar

Tvoj odziv :

Komentiranje iz tujine je omogočeno zgolj prijavljenim uporabnikom !

Kategorije