2009-04-21 2 views
3

가끔 이메일을 받고 싶지만 해당 폴더로 이동하려는 이메일이 아플 수 있습니다. 어떻게하면 "버퍼"라고 불리는 특정 폴더로 이동하는 스크립트 (예 : C-S-v 사용)를 실행할 수 있습니까?받은 편지함의 현재 활성화 된 이메일을 Outlook 2007의 다른 폴더로 이동하는 스크립트를 만들려면 어떻게해야합니까?

Outlook 2007을 사용 중입니다.

감사합니다.


편집 :이없는 생성 할 수있는 기준이 규칙을 통해 같은이 프로세스를 자동화합니다. 그것은 내가 그것을 쳐다보고있을 때 나는 단지 판단의 호출 일뿐입니다.

답변

2

다음은 내가 사용하고있는 코드입니다.

Sub MoveSelectedMessagesToFolder() 
'Originally written by Chewy Chong 
'Taken from http://verychewy.com/archive/2006/04/12/outlook-macro-to-move-an-email-to-folder.aspx 
'Thanks Chewy! 
'Ken 
On Error Resume Next 
    Dim objFolder As Outlook.MAPIFolder, objInbox As Outlook.MAPIFolder 
    Dim objNS As Outlook.NameSpace, objItem As Outlook.MailItem 

    Set objNS = Application.GetNamespace("MAPI") 
    Set objInbox = objNS.GetDefaultFolder(olFolderInbox) 
    'For the "Item" portion, I used the name of the folder exactly as it appear in the ToolTip when I hover over it. 
    Set objFolder = objNS.Folders.Item("Personal Folders").Folders.Item("Buffer") 

'Assume this is a mail folder 

    If objFolder Is Nothing Then 
     MsgBox "This folder doesn't exist!", vbOKOnly + vbExclamation, "INVALID FOLDER" 
    End If 

    If Application.ActiveExplorer.Selection.Count = 0 Then 
     'Require that this procedure be called only when a message is selected 
     Exit Sub 
    End If 
    For Each objItem In Application.ActiveExplorer.Selection 
     If objFolder.DefaultItemType = olMailItem Then 
      If objItem.Class = olMail Then 
       objItem.Move objFolder 
      End If 
     End If 
    Next 
+1

"개인 폴더"를 "Mailbox - Neil Barnwell"로 변경해야한다는 것을 깨닫고 잠시 시간을 보냈지 만 결국은 알게되었습니다. 상단에 몇 가지 변수가 포함되도록 업데이트 할 수 있습니까? –

1

도구 -> 규칙 & 경고는 다음 읽은 상태로 표시/삭제 될 어떤 기준에 맞는 모든 메일을 말하는 새 규칙을 만들기/사람들의/조합 폴더로 이동

.

편집 : 당신이 규칙/맞는 규칙을 만들 수 없습니다, 당신이 매크로를 만들 수 있습니다 원하지 않는 경우 - 다음 폴더로 이동하기 (도구> 매크로), 그 결합에 지름길.

5

이 코드가 더 효과적 일 수 있습니다.

코드에서 objFolder는 Nothing과 같지만 프로 시저를 계속할 수 있습니다. 또한 For Each 루프는 각 항목이 메일 항목으로 간주합니다.

Sub MoveSelectedMessagesToFolder() 
    Dim objNS As Outlook.NameSpace 
    Dim objFolder As Outlook.MAPIFolder 
    Dim obj As Object 
    Dim msg As Outlook.mailItem 

    Set objNS = Application.GetNamespace("MAPI") 
    On Error Resume Next 
    Set objFolder = objNS.Folders.item("Personal Folders").Folders.item("Buffer") 
    On Error GoTo 0 

    If objFolder Is Nothing Then 
    MsgBox "This folder doesn't exist!", vbOKOnly + vbExclamation, "INVALID FOLDER" 
    Exit Sub 
    End If 

    For Each obj In ActiveExplorer.Selection 
    If TypeName(obj) = "MailItem" Then 
     Set msg = obj 
     msg.Move objFolder 
    End If 
    Next obj 

End Sub 
관련 문제