Dodałem dodatkową skrzynkę pocztową do mojego konta. Chcę utworzyć widok podobny do widoku „do zrobienia”, który istnieje dla tego użytkownika. Oznacza to, że chcę folder wyszukiwania, który przeszukuje tę skrzynkę pocztową w poszukiwaniu obiektów dowolnego typu, które mają ustawioną flagę kontrolną lub są zadaniem.
Nie możesz tego zrobić z interfejsu użytkownika. Znalazłem to:
Sub CreateNewSearchFolder()
Set MyOutlookApplication = Outlook.Application
SearchSubFolders = True
Set MapiNamespace = Application.GetNamespace("MAPI")
Set TasksFolder = MapiNamespace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderTasks).Parent
strS = "'" & TasksFolder.FolderPath & "'"
'strS = "'\\Mailbox - Other'"
Dim folderName As String
folderName = InputBox("Name of new search folder?:", "Folder Name", "")
Dim objSch As Search
Dim taskFilter As String
taskFilter = "(""http://schemas.microsoft.com/mapi/proptag/0x0e05001f""= 'Tasks' AND ""http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81010003"" <> 2) OR (NOT(""http://schemas.microsoft.com/mapi/proptag/0×10900003"" IS NULL) AND ""http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81010003"" <> 2)"
Dim strTag As String
strTag = "RecurSearch"
Dim fupFilter As String
fupFilter = "(NOT(""urn:schemas:httpmail:messageflag"" IS NULL))"
Set objSch = Application.AdvancedSearch(Scope:=strS, _
Filter:=taskFilter & " OR " + fupFilter + "", _
SearchSubFolders:=True, Tag:=strTag)
objSch.Save (folderName)
End Sub
To działa doskonale - dla mojej skrzynki pocztowej. Oznacza to, że tworzy widok podobny do widoku listy zadań, który chcę. Ma każdy typ obiektu z flagą kontrolną i zadaniami. Jeśli jednak odkomentuję strS = "'\\Mailbox - Other'"
i uruchom go, program Outlook ulega awarii w wierszu .Save ().
Jakakolwiek rada?