Import menín do kalendára v MS Office

Publikoval Michal Kočí dňa 30.12.2004 o 23:48 v kategórii Office

Pár dní dozadu som písal príspevok, poukazujúci na článok, ako do aplikácie Microsoft Outlook dostať štátne sviatky. V diskusii sa človek pod prezývkou FX dotazoval, či niekto nevie, ako do Outlooku dostať meniny...

Pôvodne som chcel odpísať, že neviem, ale že sa to pravdepodobne nejak bude dať. Veď do Outlooku sa dajú importovať stretnutia, tak prečo by nešli naimportovať meniny (pri malej abstrakcii: jeden deň menín = jeden appointment). Áno, takto to musí ísť. Navyše, svojho času som programoval aplikáciu Kalendár, takže mám aj zoznam dátumov a k nim prislúchajúcich mien...

Nápad vygenerovať súbor menín sa mi pozdával čím ďalej tým viac... Takže jediné čo som potreboval bol popis formátu, ktorým sa dajú appointmenty do Outlooku importovať - VCS. No a keď som našiel RFC 2445, nechýbalo mi už prakticky nič. Jedine, napísať si konzolovú aplikáciu, ktorá v cykle prebehne všetky dni roka, nájde ku dňu prislúchajúce meniny a takto vygeneruje jeden veľký VCS súbor.

No a tak som aj učinil. Keďže mám práve skúškové obdobie, nechcelo sa mi čítať celé RFC, takže som sa ani nedohľadal informácie, ako vygenerovať udalosť tak, aby sa opakovala každý rok. Takže som vygeneroval len súbory s meninami na rok 2005, zatiaľ to musí stačiť.

Vygeneroval som teda 2 súbory, jeden s meninami pre Slovensko a jeden pre Čechy. Stiahnuť si ich môžete tu (pravý klik na súbor, Save File AS...):

Doplnok z 31.12.2004: Súbory som zmenil, lebo som zistil, že sa vygenerovala udalosť aj pre dni, v ktorých nik meniny nemá (napr. 1.1.). Nie že by to nejak vadilo, ale je to takto podľa mňa lepšie.

Doplnok z 4.1.2005: Ako som zistil, po importe súboru sa jednak položky netvária ako All Day Event a druhak voľba Show Time As je nastavené na Busy. Aj keď som robil rôzne pokusy s exportom a importom, nepodarilo sa mi pripraviť súbor, ktorý by tieto dva nešváry odstránil - respektíve, pripraviť sa mi ho podarilo, ale Outlook ho nechápal. Takže som nakoniec musel pristúpiť k tomu, že na naimportované meniny som poštval makro, ktoré nastaví položke All Day Event na True a Show Time As na Free. Makro prikladám:

Sub ZmenitMeniny()
    Dim nsThis As NameSpace
    Dim fldrSelected As MAPIFolder
    Dim appCurrent As Outlook.AppointmentItem
    Set nsThis = Application.GetNamespace("MAPI")
    Set fldrSelected = nsThis.GetDefaultFolder(olFolderCalendar)
    
    For Each appCurrent In fldrSelected.Items
        Select Case appCurrent.Categories
            Case "Meniny SR", "Meniny ČR"
                appCurrent.AllDayEvent = True
                appCurrent.BusyStatus = olFree
                appCurrent.Save
        End Select
    Next
    
    MsgBox "Done."
End Sub

Doplnok z 3.1.2007: Na základe jednoduchej rady (nie je nad jednoduchost) od užívateľa MJ (radu viď v komentároch) som pripravil meniny aj pre rok 2007 a stiahnuť si ich môžete tu:

Malá, ale dôležitá poznámka. Súbor musíte do Outlooku importovať takto:

  • v menu File vyberte položku Import and export...
  • v dialógu s formátom súboru vyberte položku Import an iCalendar or vCalendar file (.vcs)
  • kliknite na tlačidlo Next
  • zmeňte Files of type na vCalendar Format (*.vsc)
  • nalistujte stiahnutý súbor
  • kliknite na tlačidlo OK

Prečo tu však rozoberám tento postup? Ak by ste chceli importovať tento súbor dvojklikom naň v prieskumníkovi, Outlook by Vám ponúkol import iba prvej položky zo súboru...

Aby ste si vedeli predstaviť, ako to asi po importe vyzerá, prikladám screenshot po importe oboch súborov pri mesačnom a týďennom pohľade na kalendár. Ak si budete importovať iba jeden súbor, proste si zo screenshotu odmyslite jeden druh menín :)

Mesačný pohľad na kalendár po importe menín

Týždenný pohľad na kalendár po importe menín

Mohlo by ťa tiež zaujímať

Páčil sa ti príspevok?

Zdieľaj príspevok alebo si ho odlož na neskôr

Sleduj ma

Ak nechceš premeškať príspevky ako je tento, sleduj ma na Twitteri, alebo ak máš RSS čítačku, môžeš sledovať môj RSS kanál.

Komentáre

beedo dňa 21.07.2005 o 14:46 - RE: Import menín do kalendára v MS Office

Odporucil by som ti pouzit format Outlook.hol Subor vyzera takto: [Meniny SR] 70 Daniel,2005/7/21 Nehadze to ziadne zbytocne appointmenty, nerezervuje cas na busy, takze netreba ziadne makro. Keby sa ti chcelo to presypat do tohto formatu, tak by som ti bol povdacny, nemam totiz na to teraz cas Maj sa Beedo

miro dňa 03.01.2007 o 02:44 - Mohol by prosim vas....

Mohol by prosim vas niekto spravit ten .hol subor ?

MJ dňa 03.01.2007 o 12:28 - Nebude to vygenerované aj pre rok 2007 ?

pripajam sa k Mirovej prosbe. Neslo by to urobit aj pre tento rok

MJ dňa 03.01.2007 o 13:02 - A teraz jednoduchy navod ako to obabrat

Dovolil som si tu drzost, ze som otvoril subor meniny_sr.vcs v motepade. Drzo som dal zamenit retazec :2005 za retazec :2007, súbor som ulozil a naimportoval ako odporuca autor. A predstavte si ono to funguje.

Mifko dňa 03.01.2007 o 13:11 - Obabranie

To MJ: Perfektne a jednoduche, presne to iste spravim a vypublikujem to tu. Toto je dokaz toho, ze niekedy su veci jednoduchsie ako clovek caka. Ja som tu teraz takych 20 minut hladal aplikaciu ktorou som to generoval a ked som ju konecne nasiel, tak som zistil, ze som medzicasom odmazal zdrojovy XML subor, takze by som ho musel generovat znovu a uz si ani jeho strukturu poriadne nepamatam :) Tento postup tento rok fungovat bude, obavam sa ze buduci rok uz moc fungovat nebude, ak ma ovsem 29.2 niekto meniny ;)

MJ dňa 03.01.2007 o 16:42 - re: Obabranie

Moze nastat problem, ak to takto supnes do kalendara: 1. Kazde meno sa tvari ako celodenna udalost. 2. V nahlade na kalendar ti to zrazu oznami, že mas vsetky dni obsadene 3. Predpokladam ze to bude upozrnovat po synchronizacii Outlooku s telefonom vzdy o polnoci, co moze byt zaujimava predstava :-) Chcelo by to spravit tak nejako ako su spravene sviatky v Outlooku

MJ dňa 03.01.2007 o 16:47 - re: Obabranie II

Co sa tyka 29.2.2008 ten sa tam da jednoducho dopisat v txt subore A v ten den ma meniny Radomir

MJ dňa 03.01.2007 o 16:55 - re: Obabranie II

Co sa tyka 29.2.2008 ten sa tam da jednoducho dopisat v txt subore A v ten den ma meniny Radomir

Mifko dňa 03.01.2007 o 17:10 - re: re: Obabranie

To MJ: Ano, problem s celym dnom a obsadenostou tam je, pisal som o moznom "workarounde" v casti "Doplnok z 4.1.2005". Ine lepsie riesenie som bohuzial nenasiel a predpokladam ze to inak obist ani nepojde.

MJ dňa 03.01.2007 o 17:12 - re: Obabranie II

Co sa tyka 29.2.2008 ten sa tam da jednoducho dopisat v txt subore A v ten den ma meniny Radomir

MJ dňa 03.01.2007 o 17:29 - Import menin

Zase sa potvrdilo, ze treba citat dokonca a vsetko. Teraz sa to tvari ako ma. Idem synchromizovat s mobilom :-)

MJ dňa 04.01.2007 o 11:07 - Otázočka

neviete mi niekto napísať makro, ktoré prejde adresár v outlooku a zmaže duplicitné položky (napr. maily, kontakty ap).

miro dňa 31.01.2007 o 01:34 - a co ten hol subor ?

a nenasiel by sa niekto kto by to dal do toho .hol suboru ? pri importe z tohoto vsc suboru sa mi poprve neprenesu pismenka s diakritikou a po druhe sa tieto meniny od 29.3 davaju na 2 dni miesto na jeden. pouzivam outlook 2007

pepcok dňa 30.04.2007 o 14:49 - hol subor

tak som to trosku upravil a urobil som ten hol subor (15min.) odtialto ho mozete stiahnut, bolo to robene pre outlook 2007 tak neviem ako starsie verzie http://data1.edisk.cz/stahni/06454/meniny_sr_2007.hol_7.12kB.html snad som niekomu pomohol

Gurama dňa 27.11.2007 o 14:02 - Meniny pre rok 2008

Ahojte, pripravuje sa verzia súboru pre import menín pre rok 2008?

jardo dňa 24.12.2007 o 17:26 - Kalendar s meninami na rok 2008

Tiez by ma zaujimalo ze ci tu niekto nespravi kalendar s meninami na rok 2008. ..

talbot dňa 02.01.2008 o 14:23 - Bude to vygenerované aj pre rok 2008?

Zdravím. Prosím Vás, vytvoríte súbor štátnych sviatkov aj pre rok 2008? Ďakujem. T.

Mifko dňa 02.01.2008 o 17:43 - Meniny pre rok 2008 vo formate OUTLOOK.HOL

Pripravil som meniny aj pre rok 2008 vo formate OUTLOOK.HOL. Stiahnut si ich mozno z prispevku s popisom: http://blog.michalkoci.com/Article.aspx?ArticleId=186

Flodur dňa 17.05.2008 o 18:18 - Odobratie

Ako to odobrať s outlooku?

Pridať komentár

Máš niečo zaujímavé povedať k článku? Pridaj to k článku ako komentár. Spam, reklamu alebo inak nerelevantné komentáre okamžite mažem.

Pridanie komentára sa nepodarilo. Oprav si prosím chyby.