特定のメールを新しいフォルダに移動するためのスクリプトを実装しようとしていました - 難しいことではありません。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
メッセージは folderに届きますInbox
。次の場所に移動したいと思います:
Reports
->2013-XX
現在の月によって異なります。
MessageBox に正しいフォルダ名が表示されます。ただし、メッセージは重複として「受信トレイ」フォルダーにコピーされます。
私は何を間違っていますか?乾杯。