Outlook-vinkki: näin tulostat useita kalentereita rinnakkain

OPA_Hax_LogoTörmäsin äskettäin varsin mielenkiintoiseen haasteeseen: miten saadaan tulostettua Outlook 2007:stä useita rinnakkaisia kalentereita?

Homma ei onnistu Outlookin vakiotyökaluilla. Jouduin pohtimaan asiaa muutaman päivän ajan ja koskemaan hieman omaa koodiinkin. Koska asia saattaa tulla muillekin eteen, on vinkki jakamisen arvoinen.

Ensin kuitenkin hieman taustatietoja tapauksesta.

* * *

Casessa yrityksessä oltiin siirrytty Lotus Notesista Exchangen ja Outlook 2007:n käyttöön. Siirtymä oli sujunut hyvin ja Outlookin nykyaikaisiin toiminnallisuuksiin oltiin tyytyväisiä. Samalla kuitenkin keittiöhenkilökunnan käyttöön tarkoitettu Notes-näkymä/sovellus oli lakannut toimimasta.

Keittiö oli käyttänyt omaa näkymäänsä kokoushuoneisiin ja järjestänyt sen perusteella kahvitarjoilujen kattaukset, siivoamiset ja tiennyt milloin mitäkin tarjoiltavaa tulee valmistaa. Koska keittiötyöntekijöiden työ on mobiilia ja fyysistä, ei A4-tulostetta parempaa mediaa juuri ole työlistan virkaa toimittamaan.

Uudessa Outlookissa kokoushuoneet ovat oikeaoppisesti Exchangen resursseja ja niiden kalentereita pääsee katsomaan Outlookin jaetut kalenterit -toiminnon kautta. Kalenterinäkymästä saa avattua huoneet näytölle, mutta pienellä näytöllä tila käy ahtaaksi ja Outlookista puuttuu toiminto useiden kalentereiden tulostamiselle samalle sivulle.

Seuraavassa on esimerkki usean kalenterin tarkkailusta yht’aikaa Outlookissa:

OPA_Hax_2

Tätä ei saa kuitenkaan tulostettua kuten ruudulla näkyy. Eri henkilöiden kalenterit tulostuvat kukin omalle sivulleen, tai eivät tulostu lainkaan. Useiden kalentereiden tulostustoiminnot ovat puutteellisia Outlookissa.

Miten tulostus siis onnistuu?

* * *

Apu löytyy Microsoftin julkaisemasta apuohjelmasta nimeltä Calendar Printing Assistant for Microsoft Office Outlook 2007. Se tarjoaa useita tapoja kalentereiden tulostamiseen ja antaapa vielä kattavan joukon valmiita sivupohjia. Calendar Printing Assistantista kannattaa imuroida ensin perusohjelma ja sittemmin päivittää Service Pack 2 -päivityksellä, sillä alun perin julkaistussa versiossa on resurssikalentereissa hoopo muut-kuin-toistuvat tapahtumat tuplaava bugi. Huomatkaa, että Service Pack 2 -päivitys ei sisällä perusohjelmaa.

Calendar Printing Assistantissa ei ole järin montaa näkymää rinnakkaisten kalentereiden tulostukselle, mutta näkymä “Day with 5 Day Columns Letter” on hyvä pohja. Tähän voi sitten klikkailla halutut resurssikalenterit näkyviin, jolloin ne täyttävät kalenterin sarakkeet.

OPA_Hax_3

Näkymässä on kuitenkin yksi rajoitus: se osaa näyttää korkeintaan viiden sarakkeen verran tietoja kerrallaan. Jos kalentereita haluaa  näkyviin useamman kerrallaan, ilmaantuvat viiden ylitävät kalenterit kaikki viimeiseen sarakkeeseen ja sotkevat sen päällekkäisillä merkinnöillä. Calendar Printing Assistantissa ei ole toimintoa tämän korjaamiseksi.

OPA_Hax_KolmeYhdessa

Tässä vaiheessa täytyy puuttua koodiin itseensä. Lisää kaikki halutut kalenterit ja tallenna näkymä.

Tallennettu näkymä tallentuu .calx -muotoiseen tiedostoon. Calx-tiedostot ovat itse asiassa zip-pakattuja Open Office XML -muotoisia tiedostoja! Näin ollen ne voi purkaa esimerkiksi Winzipillä tai 7-Zipillä, jolloin tiedostoja pääsee editoimaan. Tee näin. (Winzip saattaa vaatia, että .calx -tiedoston nimen päätteen muuttaa ensin .zip:ksi).

Navigoi seuraavaksi puretun paketin sisään ja etsi tiedostoCal\Templates\Template1\Content.xml.

Etsi XML-elementti SideBySideGrid ja muokkaa sen MaxColumns-attribuutin maksimiarvoksi 10. Muokatuksi elementiksi tulee siis

<SideBySideGrid Orientation="Fill" GridFlowDirection="LeftToRightThenTopToBottom" MaxRows="1" MaxColumns="10" Style="LevelOneBody" />

Tallenna muutokset, pakkaa purettu hakemistoja (huomaa, että paketointi pitää tehdä oikealla tasolla) ja nimeä .zip-paketti .calx:ksi. Kun avaat tämän tiedoston CPAO:lla,avautuvat nyt kalenterit rinnakkain samaan näkymään. (Näkymän päivittyminen kestää hetken, eli odottele rauhassa).

OPA_Hax_1

OPA_hax_10

* * *

Calendar Printing Assistanttia käytettäessä kannattaa muistaa, että se on Outlookin päällä toimiva laajennus, ei erikseen toimiva sovellus. Näin ollen sillä on muun muassa pääsy vain sellaisiin kalenteritietoihin, joita sitä ajavalla käyttäjälläkin on. CPAO ei myöskään ole keveimmästä päästä oleva sovellus. Lähiverkossa kalentereiden avaukset ja tulostukset toimivat vailla suurempia tahmauksia, mutta esimerkiksi VPN-yhteydellä käyttö on melkoista tahmausta.

Outlook Calendar Printing Assistantin tyylejä ym. voi hakkeroida suhteellisen vapaasti. Valitettavasti dokumentaatio tiedostomuodosta on olematonta ja Microsoft ei kehitä tuotetta enää. Hyviä vinkkejä löytyy muun muassaSlipstickistä ja Ben Martensin blogista.

Ossin blogi Tietokone.fi