2017-09-21 14 views
0

私の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") 

それが正しいサブフォルダを指すように私は、ターゲットパスを修正するにはどうすればよいです?

+0

エラー履歴書次に、すべてのプログラミングで最悪のエラーです。 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

+0

私は自分のしていることが分からないので、私はこれに完全に新しいです。私は喜んで助けを借りて誰でも喜んで与えるだろう」私はエラー処理についてお読みになります、アドバイスありがとう! – sparkforce

+0

私はあなたが私に与えたコード提案を理解することにも取り組んでいます。私が最初のものを入力すると、 "moveToFolder.DefaultItemType = olMailItem Then"をデバッグする必要があるというエラーが表示されます – sparkforce

答えて

0

私は将来的に他の人がこの問題を持っている場合、彼らは私がそれに到着したコードを見ることができるように先に行くと、自分の質問への答えを投稿するつもりは動作します:

Sub EventRequests() 

Dim ns As Outlook.NameSpace 
Dim moveToFolder As Outlook.MAPIFolder 
Dim objItem As Outlook.MailItem 

Set ns = Application.GetNamespace("MAPI") 

On Error GoTo 0 
Set moveToFolder = ns.GetDefaultFolder(olFolderInbox).Parent.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 
関連する問題