Ha nem csak én vagyok a világon ennyire szenilis, akkor ismerős lehet másnak is az a szituáció, amikor a villamoson az ember a fejére csap és eszébe jut valami, amit nem szabad elfelejteni. Természetesen egy megállót sem kell utazni, a gondolat máris tovatűnik.
Sok témával végig lehetne játszani a következőket, én azt a szituációt vettem, amikor a fejrecsapást a „Hétvégén vegyünk mosóport!” gondolat követi. Ugyan a bevásárlólistát (igen, a Word javaslatával ellentétben egybe írva) még nem nyomtatja automatikusan a hűtő és a konyhaszekrény, de igenis kihasználhatjuk, hogy a zsebeink elektronikus kütyükkel vannak tele. Ma már a legtöbb telefon szinkronizálható PC-vel és például a Sony Ericsson telefonok esetén ez szinte egyet jelent az Outlookkal szinkronizálással.
Ezt használtam ki: a telefonunkon és/vagy PDA-nkon felvehetünk feladatokat, hurrá! Persze valahogy egyszerűen meg kéne különböztetni a bevásárlólista elemeit a „csekkeket befizetni” elemektől. A mappába sorolás és társai kiesnek, ilyenek telefonon (általában) nincsenek. Marad egy egyszerű megoldás: tegyünk egy *-ot a feladat nevének legvégére! Végülis olyan mindegy, hogy mosóport vagy mosópor*-ot írunk be.
Így viszont már vidáman feldolgozhatók az adatok egy VBA makróval. Én ezt egy Word fájlba tettem bele AutoOpen néven, így ahogy elindítom, máris betölti az adatokat. (Nem Auto_Open, az egy másik program! Ezen kívül Office 2007 esetén fontos a .docm kiterjesztés.) A makró végére a nyomtatást is be lehetne tenni, de én nem szeretem, ha automatikusan nyomtat valami.
A Word fájl a makrón kívül nem sok alakításra szorul. Be kell állítani az oldalméretet és létre kell hozni egy felsorolás stílust (BEV_felsorolas). Én oldalméretnek 9×9 cm-t állítottam be, ez egy asztali tépőtömb lapjának mérete. Persze lehetne A4-es lapra is nyomtatni, de azért annyit ritkán vásárolnék…
Így egész héten feljegyezhetem a telefonomba a hétvégi nagybevásárlás elemeit. Esténként amikor hazaérek, a telefon bluetoothon automatikusan szinkronizál az outlookkal. Hétvégenként pedig kettőt kattintok egy Word-fájlra és már nyomtathatom is a hét termését.
A makró kódja:
Sub AutoOpen()
'tartalom törlése
Selection.WholeStory
Selection.Delete
Set wordDoc = ActiveDocument
wordDoc.Content = ""
'Outlook inicializálás
Dim FeladatokMappa As MAPIFolder
Set outlookApp = CreateObject("Outlook.Application")
Set FeladatokMappa = outlookApp.GetNamespace("MAPI").GetDefaultFolder(olFolderTasks)
Set FeladatElemek = FeladatokMappa.Items
Set tartomany = wordDoc.Content
'megfelelő feladatok beszúrása a Word dokumentumba
For Each elem In FeladatElemek
If Mid(elem, Len(elem), 1) = "*" Then 'a megjelölt feladatok *-ra végződnek
Set tartomany = wordDoc.Content
tartomany.InsertAfter Mid(elem, 1, Len(elem) - 1)
wordDoc.Content.InsertParagraphAfter
End If
Next
'formázás
Selection.WholeStory
Selection.Style = ActiveDocument.Styles("BEV_felsorolas")
Selection.EndKey Unit:=wdStory
Selection.TypeBackspace
End Sub
A fentiek persze elég könnyen átalakíthatók, így pl. akár e-maileket is le lehetne lekérdezni. Ezen kívül bele lehetne tenni a kinyomtatott elemek automatikus törlését is, mindenki mérlegelje ennek az előnyeit és hátrányait.
Utolsó kommentek