2011-10-17 100 views
2

有沒有人知道在右鍵單擊文件夾時右鍵菜單上調用「清理文件夾」Outlook 2010命令的VBA代碼?在Outlook 2010中調用「清理文件夾」的VBA代碼?

我已經遠遠在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中的當前選定文件夾上調用其中一個右鍵單擊菜單命令?

+0

我在對象模型中看不到任何明顯的位置。您可以嘗試執行清理文件夾時錄製宏的舊待機。查看錄製的宏中的代碼可能會給你一個關於從哪裏開始尋找的暗示 – barrowc

+0

這是一個很好的問題,我一直在期待看到一些反饋。我無法找到任何有用的對象模型或通過谷歌。 @barrow,不像Excel Outlook不提供宏記錄功能 – brettdj

+0

@brettdj感謝您糾正我的誤解。 Outlook有時看起來像Office家族的不受歡迎的繼子女 – barrowc

回答

2

我無法測試這個,但從我讀的這可能工作。

首先找到命令的值爲idMso。使用此功能來查找值:

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

然後使用Application.CommandBars.ExecuteMso(idMso)要執行的命令。祝你好運。

+0

本文可能會提供更多幫助:http://stackoverflow.com/questions/7600181/outlook-object-model-hooking-to-the-conversation-cleanup-feature – JimmyPena

+0

+1這兩年錯過了,但看起來是貨 – brettdj