В Outlook 2013 я использую боковую панель "Список задач":
- На экране « Почта» выберите вкладку « Просмотр ленты».
- В группе ленты « Макет » щелкните раскрывающийся список « Список дел» и выберите « Задачи».
Почтовые элементы, которые я "отмечаю", видны в этом списке.
Буду признателен, если кто-нибудь сможет предоставить код VBA, чтобы открыть папку, содержащую выбранный элемент задачи.
Я пробовал следующий код (источник), но, к сожалению, есть ошибка.
Public Sub GetItemsFolderPath()
Dim obj As Object
Dim F As Outlook.MAPIFolder
Dim Msg$
Set obj = Application.ActiveWindow
If TypeOf obj Is Outlook.Inspector Then
Set obj = obj.CurrentItem
Else
Set obj = obj.Selection(1)
End If
Set F = obj.Parent ' <---------- DEBUG INDICATES THE ERROR IS HERE
Msg = "The path is: " & F.FolderPath & vbCrLf
Msg = Msg & "Switch to the folder?"
If MsgBox(Msg, vbYesNo) = vbYes Then
Set Application.ActiveExplorer.CurrentFolder = F
End If
End Sub
РЕДАКТИРОВАТЬ
Ошибка возникает только при просмотре папки верхнего уровня, отличной от того, где находится помеченный элемент, во время попытки запуска макроса.
- Например, если вы в данный момент исследуете что-то в своей учетной записи Exchange, и помеченный почтовый элемент находится в некоторой подпапке в вашей учетной записи Exchange, то макрос будет работать нормально.
- Аналогично, если вы в настоящее время исследуете где-то в файле данных PST, и помеченный почтовый элемент находится в некоторой подпапке в этом файле данных PST, то макрос будет работать нормально.
- Но если вы в настоящее время изучаете один файл данных PST, и ваш помеченный элемент находится не внутри этого PST, а где-то еще, например, в другом PST или вашей учетной записи Exchange, то макрос будет иметь ошибку.