私のOutlookの受信トレイにあるアイテムを、受信トレイと同じレベルにある別のフォルダのサブフォルダに移動するマクロを作成しようとしています(つまり、親フォルダは受信トレイのサブフォルダではありません)。これは私が使用しているコードです:Outlookでメールをサブフォルダに移動するにはどうすればよいですか?
Sub EventRequests()
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
Set moveToFolder = ns.Folders("Events").Folders("Event Requests")
If Application.ActiveExplorer.Selection.Count = 0 Then
MsgBox ("Select an E-mail first")
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
私がコードを実行すると、「ターゲットフォルダが見つかりません」というエラーが表示されます。私は Set moveToFolder = ns.GetDefaultFolder(olFolderInbox).Folders("Events").Folders("Event Requests")
とSet MoveToFolder = ns.Folders("Mailbox - my name").Folders(targetFolder)
を試しましたが、どちらもうまくいきませんでした。私は私の受信トレイのサブフォルダであるフォルダに私の受信トレイにメッセージを移動し、それが正常に動作設定異なるマクロを持っています
Set moveToFolder = ns.GetDefaultFolder(olFolderInbox).Folders("Completed")
それが正しいサブフォルダを指すように私は、ターゲットパスを修正するにはどうすればよいです?
エラー履歴書次に、すべてのプログラミングで最悪のエラーです。 http://www.cpearson.com/Excel/ErrorHandling.htm MoveToFolderを設定する直前に移動すると、エラーGoToが0になります。 "Events"フォルダがメールボックスの直下にあると仮定します。フォルダツリーをデフォルトの受信トレイからParentに移動し、次にEventsフォルダまで移動します。 'Set MoveToFolder = ns.GetDefaultFolder(olFolderInbox).Parent.Folders(" Events ")。フォルダ("イベントリクエスト ")'または 'Set MoveToFolder = ns.Folders("メールボックス名は文字通りMailbox - my – niton
私は自分のしていることが分からないので、私はこれに完全に新しいです。私は喜んで助けを借りて誰でも喜んで与えるだろう」私はエラー処理についてお読みになります、アドバイスありがとう! – sparkforce
私はあなたが私に与えたコード提案を理解することにも取り組んでいます。私が最初のものを入力すると、 "moveToFolder.DefaultItemType = olMailItem Then"をデバッグする必要があるというエラーが表示されます – sparkforce