W programie Outlook 2013 używam paska bocznego „Lista zadań”:
- Od Poczta ekran, wybierz Widok karta wstążki.
- w Układ grupa wstążek, kliknij Pasek zadań do wykonania rozwijana i wybierz Zadania .
Elementy poczty, które „zaznaczam” są widoczne na tej liście.
Byłbym wdzięczny, gdyby ktoś mógł dostarczyć kod VBA, aby otworzyć wybrane elementy zadania zawierający folder .
Próbowałem następującego kodu ( źródło ), ale niestety ma błąd.
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
EDYTOWAĆ
Błąd występuje tylko wtedy, gdy przeglądasz inny folder najwyższego poziomu niż ten, w którym znajduje się oznaczony element, podczas próby uruchomienia makra.
- Na przykład, jeśli aktualnie eksplorujesz gdzieś na swoim koncie Exchange, a oznaczony element poczty znajduje się w jakimś podfolderze na twoim koncie Exchange, makro będzie działać dobrze.
- Podobnie, jeśli aktualnie eksplorujesz gdzieś w pliku danych PST, a oznaczony element poczty znajduje się w jakimś podfolderze w tym pliku danych PST, makro będzie działać dobrze.
- Ale jeśli aktualnie eksplorujesz jeden plik danych PST, a twój flagowany element NIE znajduje się w tym PST, ale gdzieś indziej, jak inne PST lub konto Exchange, to makro będzie miało błąd.
vba
microsoft-outlook-2013
Lakey
źródło
źródło
Odpowiedzi:
To jest błąd MAPI_E_INVALID_ENTRYID. Może to oznaczać, że plik PST jest uszkodzony. Spróbuj uciekać scanpst.exe narzędzie do naprawy, a następnie spróbuj ponownie uruchomić skrypt.
Możesz także spróbować uruchomić skrypt dla elementów w innym pliku PST.
EDYCJA: Zdarza się czasami, że Outlook profil jest uszkodzony i zachowuje się dziwnie. Możesz spróbować utworzyć nowy profil programu Outlook.
źródło