我已经使用 Microsoft Outlook 很多年了。我喜欢保留收到的所有电子邮件,从不删除任何内容(我每天收到 50-200 封电子邮件)。为了提高效率,我会删除(即单击键盘上的“删除”按钮)收到的每封不需要特殊处理或归档的电子邮件。大约每周一次,我会将所有“已删除邮件”文件夹复制到一个大文件夹中,我将其命名为“所有未归档邮件”。如果我遇到垃圾邮件或其他“确实”需要删除的邮件,我只需使用 Shift-Delete 键即可。
我很清楚这种方法的危险(例如,错误清理文件夹的风险),但是这是我所知道的唯一一个可以从收件箱中删除电子邮件的单键操作(Ctrl-某些键不是用于此目的的单个键),我已经习惯了它。
我想知道是否有任何方法可以配置“删除”按钮的操作以将项目发送到特定文件夹?
我目前使用 Outlook 2007,但我希望收到与其他版本相关的答案。
答案1
自动存档功能是否足够?您可以在“已删除邮件”文件夹中将自动存档专门设置为“超过 1 天或一周的项目”。如果您不想在其他地方使用存档功能,甚至可以关闭其他文件夹的存档。
答案2
您现在所做的确实是对您问题的最佳回答。为了避免清空已删除项目文件夹,您可以更改“工具”|“选项”中的默认操作,然后选择“其他”选项卡。取消选中“退出时清空已删除项目文件夹”旁边的复选框。
答案3
我不知道有多少比例的邮件最终被所有未归档邮件文件夹。但考虑到这个百分比高于已分类的邮件(无论百分比如何,都是可行的),那么您可以考虑创建一个将所有收到的邮件存储到所有未归档邮件文件夹,然后对所有其他邮件进行分类/标记。所有未处理的邮件都会被标记为未读,而您所要做的就是归档那些需要归档的邮件,不要触碰那些不需要归档的邮件
我假设你必须在采取任何行动之前阅读/打开/排序所有邮件,这样你就不需要删除,然后移动所有未归档的邮件,而且明显的危险是“删除所有”-设想。
答案4
听起来像是我几年前根据一些示例代码编写的 Outlook VBScript 宏的一个很好的候选。此宏当前将选定的邮件或当前打开的邮件移动到我创建的名为“存档个人文件夹”的 PST 文件中。您可以将其更改为任何您想要的文件夹。将此宏放入 Outlook 中即可开始使用。您需要修改代码以执行您想要的操作。此外,您需要生成数字签名证书来签署代码以使其变得简单。我在工具栏上放置了一个按钮来运行此脚本,这样我就可以一次将一堆邮件移动到我的存档文件夹中。
Sub MoveSelectedMessagesToArchiveInbox()
On Error Resume Next
Dim objFolder As Outlook.MAPIFolder, objInbox As Outlook.MAPIFolder
Dim objNS As Outlook.NameSpace, objItem As Outlook.MailItem
Set objNS = Application.GetNamespace("MAPI")
Set objInbox = objNS.GetDefaultFolder(olFolderInbox)
Set objFolder = objNS.Folders("Archive Personal Folders").Folders("Inbox")
'Assume this is a mail folder
If objFolder Is Nothing Then
MsgBox "This folder doesn't exist!", vbOKOnly + vbExclamation, "INVALID FOLDER"
End If
Select Case TypeName(Outlook.Application.ActiveWindow)
'Viewing Inbox, so act upon selected messages
Case "Explorer"
If Application.ActiveExplorer.Selection.Count = 0 Then
'Require that this procedure be called only when a message is selected
Exit Sub
End If
For Each objItem In Application.ActiveExplorer.Selection
If objFolder.DefaultItemType = olMailItem Then
If objItem.Class = olMail Then
objItem.Move objFolder
End If
End If
Next
'A message is open, act upon current open message
Case "Inspector"
Set objItem = Outlook.Application.ActiveInspector.CurrentItem
If objFolder.DefaultItemType = olMailItem Then
If objItem.Class = olMail Then
objItem.Move objFolder
End If
End If
Case Else
' Do Nothing
End Select
Set objItem = Nothing
Set objFolder = Nothing
Set objInbox = Nothing
Set objNS = Nothing
End Sub