如何通过VBA调用Outlook功能区"主页>移动>其他文件夹"功能
Outlook VBA一键唤起「其他文件夹」选择界面实现方案
完全可以通过原生接口实现需求,无需模拟菜单点击,弹出的选择界面和你通过「移动>其他文件夹」打开的功能完全一致。
可用VBA代码
Sub 一键归档到其他文件夹() Dim objSelection As Outlook.Selection Dim objMail As Object Dim targetFolder As Outlook.Folder ' 获取当前选中的邮件 Set objSelection = Application.ActiveExplorer.Selection If objSelection.Count = 0 Then MsgBox "请先选中要归档的邮件" Exit Sub End If ' 弹出原生文件夹选择对话框,即你需要的「其他文件夹」界面 Set targetFolder = Application.Session.PickFolder ' 判断用户是否选中了有效文件夹(未点击取消) If Not targetFolder Is Nothing Then ' 批量移动所有选中的邮件 For Each objMail In objSelection objMail.Move targetFolder Next End If ' 释放对象 Set objSelection = Nothing Set objMail = Nothing Set targetFolder = Nothing End Sub
配置使用步骤
- 按
Alt+F11打开Outlook VBA编辑器,右键点击你的邮箱名称,选择「插入」-「模块」,把上述代码粘贴到模块中即可 - 保存后关闭VBA编辑器,你可以在快速访问工具栏或者自定义功能区绑定该宏的触发按钮,点击按钮就能直接弹出文件夹选择界面,选好目录后选中的邮件会自动完成归档
- 代码默认弹窗的目录结构和原生「其他文件夹」功能完全一致,不需要调整你现有的多层级归档系统结构,符合你之前的操作习惯
内容的提问来源于stack exchange,提问作者Artur Vander Sande
相关产品推荐
相关产品推荐

