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