나는의 조합을 사용하는 다른 응답 후, 그리고 이 문서를 용도 내 자신의 매크로를 작성하는 보너스 라이브러리를 대화를 병합합니다.
현재 폴더를 스캔하여 jira 이메일을 골라 주제에서 이슈 키를 추출합니다. 이전에 해당 키 가 보이지 않으면 이슈 키를 기반으로 컬렉션에 대화 색인을 저장하고 이전에 본 경우 저장된 대화 색인으로 이메일을 업데이트합니다.
Dim ConversationIndexes As New Collection
Sub GroupJira()
Dim MapiNamespace As Object
Dim RdoSession As Object
Dim Item As Object
Dim RdoItem As Object
Dim ConversationKey As String
Dim ConversationIndex As String
' Get all the required handles
Set MapiNamespace = Outlook.GetNamespace("MAPI")
MapiNamespace.Logon
Set RdoSession = CreateObject("Redemption.RDOSession")
RdoSession.MAPIOBJECT = MapiNamespace.MAPIOBJECT
'Setup some subject patterns to extract the issue key
Dim Matches As MatchCollection
Dim UpdateSubjectPattern As New RegExp
UpdateSubjectPattern.Pattern = "\[JIRA\] \(([A-Z]+-[0-9]+)\) .*"
Dim MentionedSubjectPattern As New RegExp
MentionedSubjectPattern.Pattern = "\[JIRA\] .* mentioned you on ([A-Z]+-[0-9]+) \(JIRA\)"
For Each Item In Outlook.ActiveExplorer.CurrentFolder.Items
If TypeOf Item Is MailItem Then
If Left(Item.Subject, 7) = "[JIRA] " Then
' Get a key for this conversation, opic for now
ConversationKey = Item.ConversationTopic
Set Matches = UpdateSubjectPattern.Execute(Item.Subject)
If Matches.Count >= 1 Then ConversationKey = Matches(0).SubMatches(0)
Set Matches = MentionedSubjectPattern.Execute(Item.Subject)
If Matches.Count >= 1 Then ConversationKey = Matches(0).SubMatches(0)
' Get any saved indexes
ConversationIndex = ""
On Error Resume Next
ConversationIndex = ConversationIndexes.Item(ConversationKey)
On Error GoTo 0
If ConversationIndex = "" Then
' Save this index if not seen yet
ConversationIndexes.Add Item.ConversationIndex, ConversationKey
ElseIf Item.ConversationIndex <> ConversationIndex Then
' Set the item's index if it has
Set RdoItem = RdoSession.GetMessageFromID(Item.EntryID, Item.Parent.StoreID)
RdoItem.ConversationIndex = ConversationIndex
RdoItem.Save
End If
End If
End If
Next Item
End Sub
다음 라이브러리가 필요합니다.
- 대화 인덱스를 설정하는 데 필요한 전체 RDO 액세스를위한 구속 라이브러리 (이를 등록하기 위해 권한 상승이 필요하지 않음)
Microsoft VBScript Regular Expressions 5.5
메일 제목에서 이슈 키를 추출 하기위한 라이브러리에 대한 참조 입니다.
또한 매크로 보안 설정을 조정하여 실행해야합니다.