V článku GTD v Outlooku II/4 – Chytrá složka pro projekty byl publikován návod, jak prostřednictvím maker vytvořit vyhledávací složku, která sdružuje veškeré položky v Outlooku, které se týkají konkrétního projektu. Příslušnost položky k projektu je určen zvolenou kategorií.
Vzhledem k tomu, že ve své implementaci GTD v Outlooku využívám pro přiřazení položky k projektu “uživatelské pole”, nebyl tento postup přímo použitelný. Prostě mi to nějak nefungovalo.
Ale nedávno mne Michal Franc (za což mu děkuji) upozornil na to, že je možné kombinovat makro (které automaticky vytvoří vyhledávací složku prohledávající úkoly a přiřadí jí potřebná kritéria) a ruční úpravu, které do vyhledávání zařadí i složku doručené pošty. A odsud už byl jen skok k takové úpravě makra, která toto vše udělá automaticky. Zkrátka do vyhledávací složky automaticky zahrne více než jednu složku.
Sub SlozkaProProjekt() Dim MapiNamespace As NameSpace Dim TasksFolder As Folder Dim strS As String Dim taskFilter As String Dim projectName As String Dim strTag As String Dim objSch As Search Set MapiNamespace = Application.GetNamespace("MAPI") 'zde je možné přidat libovolné množství složek, které se budou prohledávat strS = AddSearchScope("", MapiNamespace.GetDefaultFolder(olFolderTasks).FolderPath) 'tato složka musí být přidána jako poslední strS = AddSearchScope(strS, MapiNamespace.GetDefaultFolder(olFolderInbox).Parent.FolderPath) projectName = InputBox("Zadejte název projektu") taskFilter = _ "(""http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/Projekt"" _ LIKE '" & projectName & "%' AND " & _ """http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81010003"" <> 2)" strTag = "RecurSearch" Set objSch = Application.AdvancedSearch(Scope:=strS, Filter:=taskFilter, _ SearchSubFolders:=True, Tag:=strTag) objSch.Save ("Projekt: " & projectName) End Sub Private Function AddSearchScope(oFolder As String, addFolder As String) As String 'doplní řetězec, který obsahuje cestu k složce (nebo složkám), které mají být prohledávány If oFolder = "" Then AddSearchScope = "'" & addFolder & "'" Else AddSearchScope = oFolder & ", " & "'" & addFolder & "'" End If End Function
Autorem původního skriptu je Simon Guest. Krátkou instruktáž, jak zadat makro do Outlooku naleznete v článku “GTD v Outlooku jednoduše a prakticky – díl VII. – Makra”.
Žádné komentáře:
Okomentovat