オンラインで見つけたスクリプトを編集して、電子メールをさまざまなフォルダーに移動しました。
さらに一歩進んで、メールを別の PST ファイル内のフォルダーに移動したいと考えています。
これは Outlook 2007 で実行されます。
マクロは、「更新済み」というタイトルのこのマクロに由来し、よりクリーンなバージョンです:
http://jmerrell.com/2011/05/21/outlook-macros-move-email
このリンクに手がかりがあるとほぼ確信していますが、適切に適用する経験がありません:
http://www.slipstick.com/developer/working-vba-nondefault-outlook-folders/
私の現在のマクロでは、電子メールをメインの PST「受信トレイ」フォルダー内の 3 つの異なるフォルダーの場所に移動できます。
'Outlook VB Macro to move selected mail item(s) to a target folder
Sub MoveToFolder(targetFolder)
On Error Resume Next
Dim ns As Outlook.NameSpace
Dim MoveToFolder As Outlook.MAPIFolder
Dim objItem As Outlook.MailItem
Set ns = Application.GetNamespace("MAPI")
'define path to the target folder; the following assumes the target folder
'is a sub-folder of the main Mailbox folder
'This is the original'
'Set MoveToFolder = ns.Folders("Mailbox").Folders(targetFolder)'
Set MoveToFolder = ns.GetDefaultFolder(olFolderInbox).Folders(targetFolder)
If Application.ActiveExplorer.Selection.Count = 0 Then
MsgBox ("No item selected")
Exit Sub
End If
If MoveToFolder Is Nothing Then
MsgBox "Target folder not found!", vbOKOnly + vbExclamation, "Move Macro Error"
End If
For Each objItem In Application.ActiveExplorer.Selection
If MoveToFolder.DefaultItemType = olMailItem Then
If objItem.Class = olMail Then
objItem.Move MoveToFolder
End If
End If
Next
Set objItem = Nothing
Set MoveToFolder = Nothing
Set ns = Nothing
End Sub
Sub MoveToActive()
MoveToFolder ("Active")
End Sub
Sub MoveToAction()
MoveToFolder ("Action")
End Sub
Sub MoveToOnHold()
MoveToFolder ("OnHold")
End Sub
別の PST 内のフォルダーにメールを移動する 4 番目のオプションを構成するにはどうすればよいですか?
たとえば、「アーカイブ」というボタンを追加したいと思います。この特定のボタンをクリックすると、電子メールが別の PST の受信トレイ内のアーカイブ フォルダに移動します。
Sub MoveToArchive()
MoveToFolder ("Archive")
End Sub