【问题标题】:VBA code to invoke "Clean Up Folder" in Outlook 2010?在 Outlook 2010 中调用“清理文件夹”的 VBA 代码?
【发布时间】:2020-06-28 15:10:31
【问题描述】:

有谁知道右键单击文件夹时调用右键菜单上的“清理文件夹”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

但是,我在 Folder 对象本身上看不到任何可以让我调用“清理文件夹”的方法。

如何在 VBA 中的当前选定文件夹上调用其中一个右键菜单命令?

【问题讨论】:

  • 我在对象模型中也看不到任何明显的地方。您可以在执行文件夹清理时尝试录制宏的旧待机。查看录制的宏中的代码可能会提示您从哪里开始查找
  • 这是一个很好的问题,我一直在研究希望看到一些反馈。我在对象模型中或通过谷歌找不到任何有用的东西。 @barrow,与 Excel 不同,Outlook 不提供宏记录器功能
  • @brettdj 感谢您纠正我的误解。 Outlook 有时看起来像是 Office 家族中不受欢迎的继子

标签: vba outlook outlook-2010


【解决方案1】:

我无法对此进行测试,但从我读到的内容来看,这可能有效。

首先找到该命令的 idMso 值。使用它来查找值:

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

然后使用Application.CommandBars.ExecuteMso(idMso) 执行命令。祝你好运。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-03-18
  • 1970-01-01
  • 1970-01-01
  • 2016-11-02
  • 1970-01-01
  • 2016-02-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多