받은 편지함이 아닌 폴더에서 Outlook 실행 규칙을 자동으로 설정

받은 편지함이 아닌 폴더에서 Outlook 실행 규칙을 자동으로 설정

현재 Gmail을 사용하여 Outlook을 설정했습니다. 내 계정의 다른 폴더(라벨)에서 실행되도록 정의한 몇 가지 규칙이 있습니다. 이메일이 받은 편지함을 건너뛰고 해당 폴더에 넣도록 하는 필터가 이미 Gmail에 설정되어 있습니다.

새 이메일을 받을 때마다 해당 폴더에서는 내 규칙이 실행되지 않습니다(단순히 카테고리 설정용임). 수동으로 실행해야 합니다. 이메일이 받은편지함으로 먼저 들어오지 않고 바로 폴더로 들어오기 때문인 것 같아요. 어쨌든 해당 폴더에서 Outlook 실행 규칙을 자동으로 만들 수 있습니까? 예약된 실행도 괜찮습니다.

답변1

여기있어. 이는 정크 폴더에만 해당되며(olFolderJunk는 Outlook 상수임) 접두사가 "JUNK_FILTER_"인 모든 필터를 실행합니다.

낙관적이며 오류 검사가 거의 없으므로 위험을 감수하고 사용하십시오. 이해가 안 되시면 사용하지 마세요 :)

Sub runRulesOnJunkFolder()
    Dim st As Outlook.Store
    Dim myRules As Outlook.Rules
    Dim rl As Outlook.Rule
    Dim count As Integer
    Dim ruleList As String
    Dim rulePrefix As String
    Dim ruleFolder As Long

    '
    Dim outlookApp As Outlook.Application
    Dim objNS As NameSpace


    ruleFolder = olFolderJunk
    rulePrefix = "JUNK_FILTER_"

    Set objNS = Application.GetNamespace("MAPI")
    Set objJunkfolder = objNS.GetDefaultFolder(ruleFolder)

    ' get default store (where rules live)
    Set st = Application.Session.DefaultStore
    ' get rules
    Set myRules = st.GetRules

    ' iterate all the rules
    For Each rl In myRules
        ' determine if it's an Inbox rule and rule name prefix matches
        If rl.RuleType = olRuleReceive And Left(rl.Name, Len(rulePrefix)) = rulePrefix Then

            ' if so, run it
            rl.Execute ShowProgress:=True, Folder:=objJunkfolder
            count = count + 1
            ruleList = ruleList & vbCrLf & rl.Name
        End If
    Next

    ' tell the user what you did
    ruleList = "These rules were executed against the folder: " & objJunkfolder.Name & vbCrLf & ruleList
    MsgBox ruleList, vbInformation, "Macro: runRulesOnJunkFolder"

    Set rl = Nothing
    Set st = Nothing
    Set myRules = Nothing
    Set objJunkfolder = Nothing
    Set objNS = Nothing
End Sub

답변2

카테고리는 IMAP 계정에서 제대로 작동하지 않습니다. IMAP 계정의 Outlook 개체에 할당된 모든 범주는 서버와 동기화되지 않으므로 특정 Windows 설치의 특정 사용자 계정에 있는 특정 Outlook 프로필에만 표시됩니다. IMAP 및 Outlook에서 실제로 사용할 수 있는 유일한 것은 표준 켜기/끄기 플래그입니다(GMail이나 Exchange가 지원하는 다른 유형이 아님).

범주는 Exchange 계정과 함께 사용하도록 고안되었으며 클라이언트 측 규칙으로 할당한 다음 서버와 동기화할 수 있습니다. 또한 카테고리가 할당되고 이메일이 클라이언트 측 규칙에 따라 정렬되는 POP3 계정에서도 잘 작동합니다.

카테고리로~할 수 있다Exchange 서버의 폴더로 이미 정렬된 이메일에 클라이언트 측 규칙을 사용하여 할당할 수 있습니다(서버 측 규칙 사용). 범주가 실제로 비 서버에서 사용할 의도가 아니기 때문에 규칙이 작동하지 않는 것 같습니다. -교환 계좌.

제 생각에는 IMAP 사서함이 설정되는 특이한 방식 때문에 GMail이 어떤 데스크톱 이메일 클라이언트에서도 만족스럽게 사용될 수 없다고 생각합니다.

답변3

이를 수행하는 한 가지 방법은 알림이 나타날 때마다 매크로를 실행할 수 있는 반복 약속을 설정하는 것입니다. 매크로는 필터를 실행합니다. 달력에 약속이 많아서 조금 번거로워 보이고 원할 때 실행될 가능성이 낮습니다. 나는 이것을 개인적으로 해본 적이 없지만 그것이 가능하다고 확신합니다.

내가 무엇을가지다완료된 것은 특정 폴더에서 특정 접두사로 이름이 지정된 필터를 실행하는 매크로를 만드는 것입니다. 매크로는 폴더를 선택하고 필터는 작업(제 경우에는 '삭제')을 결정합니다. VBA를 아는 사람이라면 적응할 수 있습니다.

매크로를 만든 후 Outlook 도구 모음에 매크로를 실행하는 버튼을 추가했습니다. 기분이 좋을 때마다 버튼을 클릭합니다.

필요에 맞게 수정할 수 있다고 생각되면 소스 코드를 게시할 수 있습니다.

답변4

Gmail에서 해당 규칙을 직접 설정할 수 있습니다.링크.

관련 정보