我试图实现一个脚本来将一个特定的邮件移动到一个新的文件夹 - 没有困难的东西。它在 Outlook 2013 中编写脚本,并作为传入邮件的规则实施。编码:
Public Sub MoveToFolder(Item As Outlook.MailItem)
'' ... variable definitions ...
Set oloUtlook = CreateObject("Outlook.Application")
Set ns = oloUtlook.GetNamespace("MAPI")
Set itm = ns.GetDefaultFolder(olFolderInbox)
Set foldd = ns.Folders.GetFirst.Folders
For x = 1 To foldd.Count
If foldd.Item(x).Name = "Inbox" Then
Set fold = foldd.Item(x).Folders
For i = 1 To fold.Count
If fold.Item(i).Name = "Reports" Then
If fold.Item(i).Folders.GetFirst.Name <> Format(Date, "yyyy-mm") Then
fold.Item(i).Folders.Add (Format(Date, "yyyy-mm"))
End If
Set newfold = fold.Item(i).Folders.GetFirst
MsgBox newfold.Name
Item.Copy (newFold)
''Item.Move (newfold)
End If
Next i
End If
Next x
End Sub
消息到达文件夹Inbox
,我想将其移动到:
Reports
->2013-XX
取决于当前月份。
MessageBox 显示正确的文件夹名称。但该邮件被复制到文件夹“收件箱”作为副本。
我究竟做错了什么?干杯。