VBA 스크립트와 함께 규칙을 사용하여 Outlook 전자 메일을 필터링하는 방법은 무엇입니까?


14

제목이나 와일드 카드로 메시지 본문을 검색하는 것과 같은 기본 전자 메일 규칙을 사용하면 특정 작업을 수행 할 수 없습니다. 여러 단어를 사용할 수 있지만 한 문자 씩 떨어져있는 단어가 필요한 경우 동일하지 않습니다. Outlook 전자 메일을 필터링하기 위해 Visual Basic for Applications 코드를 작성하려면 어떻게해야합니까?

답변:


12

이 간단한 필터를 만드는 데 필요한 모든 부품에 대해 높고 낮게 보였습니다. 유닉스 프록 메일 필터는 비교하기가 매우 쉽습니다. 모든 Microsoft Outlook 마법사는 와일드 카드를 사용하여 간단한 필터 방식을 사용합니다. Microsoft가 기본적으로 제공하는 많은 전자 메일 필터 조건은 유용하지만 실행 코드의 유연성과 사용자 지정을 능가하는 것은 없습니다.

  1. 코드를 작성하십시오.

Alt-F11은 VBA 코드 편집기를 불러옵니다. ThisOutlookSession을 두 번 클릭하십시오. 코드를 작성하십시오. 필자의 경우 제목 줄에 정규식을 사용하여 DefaultFolder가 아닌 하위 폴더의 pst로 이동합니다.

Sub filter(Item As Outlook.MailItem)
    Dim ns As Outlook.NameSpace
    Dim MailDest As Outlook.Folder
    Set ns = Application.GetNamespace("MAPI")
    Set Reg1 = CreateObject("VBScript.RegExp")
    Reg1.Global = True
    Reg1.Pattern = "(.*Abc.20.*)"
    If Reg1.Test(Item.Subject) Then
        Set MailDest = ns.Folders("Personal Folders").Folders("one").Folders("a")
        Item.Move MailDest
    End If
End Sub
  1. 규칙을 사용하여 각 수신 이메일의 코드를 실행하십시오.

규칙에서 "규칙 및 경고 관리 ..."를 선택하십시오. 새로운 규칙은 다음과 같습니다

Apply this rule after the message arrives run Project1.ThisOutlookSession.filter

이를 얻으려면 1 단계 : 조건 선택 : 다음을 클릭하십시오. 확인을 클릭하여 모든 메시지에 적용되는지 확인하십시오. 조치 선택에서 "스크립트 실행"을 확인한 후 필터 스크립트를 클릭하여 선택하고 다음 또는 완료를 선택하십시오. 예외 선택에서 다음 또는 완료를 클릭하십시오. vba-filter와 같은 좋은 이름을 지정하고이 규칙 켜기를 선택하십시오. Finish를 클릭하십시오. 로컬 폴더에 대응하기 때문에 온라인 또는 다른 장치에서 확인한 이메일에 대해이 규칙이 작동하지 않는다는 확인 메시지가 표시되면 확인을 클릭하십시오. 규칙 및 경고 대화 상자에서 확인을 클릭하십시오.

  1. 매크로가 서명되지 않은 경우 Outlook은 마음에 들지 않습니다. 매크로에 자체 서명하려면 인증서를 작성하여 사용하십시오 .

매크로 및 사용자 정의 열 작성과 같은 다른 부분 솔루션에 대해 읽었습니다. 이렇게하면 UI 정렬 또는보기 필터링이 가능하지만 들어오는 메시지가 아닌 모든 메시지를 편집합니다.
그랜트 보 우먼

1
Outlook 클라이언트가 Outlook 시작시 vbscript vba-filter를 실행하도록 규칙을 일관되게 비활성화했습니다. 이로 인해 문제가 발생했습니다. vbscript에는 각 규칙에 추가 할 수있는 문자 제한이 있습니다. 유연성이 떨어지지 만 일관되게 작동하기 위해 표준 Outlook 필터를 사용하여 필터를 다시 작성하여 항상 작동합니다.
그랜트 보 우먼

2
스크립트를 실행하는이 옵션이 없습니다. 여기에서 관련 링크를 찾았습니다 : slipstick.com/outlook/rules/outlook-2016-run-a-script-rules
Jayan

위의 코드는 작동하지 않습니다. 제목 파일에 Abc.20을 넣었지만 메시지가받은 편지함 밖으로 나가지 않습니다.
Tensigh

1
디버그 창을 사용하여 정규식이 작동하도록했습니다. 이제는 올바른 폴더로 이동하기 만하면됩니다. 나는 그것을 알아낼 수 있다고 생각합니다. 당신의 도움을 주셔서 감사합니다.
Tensigh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.