Код VBA для вызова папки очистки в Outlook 2010?

Кто-нибудь знает код VBA для вызова команды Outlook 2010 «Очистить папку» в контекстном меню при щелчке правой кнопкой мыши по папке?

Я зашел так далеко в коде VBA, чтобы добраться до папок, которые хочу очистить:

Private Sub CleanUpAllFolders()
Dim Folders As Outlook.Folders
Dim Folder As Outlook.Folder
Set Folders = Session.GetDefaultFolder(olFolderInbox).Parent.Folders
For Each Folder In Folders
    If Left(Folder.Name, 1) = "_" Then
        ' Clean up folder... how do I invoke that command from VBA on this folder?
    End If
Next
End Sub

Однако я не вижу никакого метода в самом объекте «Папка», который позволяет мне вызывать «Очистить папку».

Как мне вызвать одну из этих команд контекстного меню в текущей выбранной папке в VBA?


person Alex Randall    schedule 17.10.2011    source источник
comment
Я также не вижу этого в объектной модели. Вы можете попробовать старый режим записи макроса во время очистки папки. Глядя на код в записанном макросе, вы можете подсказать, с чего начать поиск.   -  person barrowc    schedule 19.10.2011
comment
Это отличный вопрос, который я рассматривал в надежде увидеть отзывы. Я не могу найти ничего полезного в объектной модели или через google. @barrow, в отличие от Excel, Outlook не предлагает функцию записи макросов.   -  person brettdj    schedule 20.10.2011
comment
@brettdj Спасибо, что исправили мое недоразумение. Outlook иногда кажется нелюбимым пасынком семейства Office.   -  person barrowc    schedule 21.10.2011


Ответы (1)


Я не могу проверить это, но из того, что я читал, это может сработать.

Сначала найдите значение idMso для команды. Используйте это, чтобы найти значение:

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=3582

Затем используйте Application.CommandBars.ExecuteMso(idMso) для выполнения команды. Удачи.

person JimmyPena    schedule 25.10.2011
comment
Этот пост может предоставить дополнительную помощь: функция очистки разговора"> stackoverflow.com/questions/7600181/ - person JimmyPena; 02.11.2011