>

문제 설명 :

메시지의 발신자 ( '보낸 사람'필드)를 변경해야합니다. 두 개의 공유 사서함 계정을 추가했으며 그 중 하나에 속하는 항목에 대한 회신을 클릭하는 동안 다른 공유 사서함에서이 회신 메시지를 보내려고합니다.

(작동하지 않는) 솔루션 :

이벤트 _Reply를 사용했습니다. .SentOnBehalfOfName 속성을 변경하여 두 번째 공유 사서함의 전자 메일 주소를 할당합니다. 메시지 편집기의 '보낸 사람'필드가 올바른 주소로 변경되지만 메시지를 보낸 사람은 메시지를 보낸 사람이 첫 번째 전자 메일 주소와 "보낸 항목"폴더에서 보낸 메시지를 보았으며 대신 메시지가 보낸 것으로 나타납니다. "두 번째 이메일 주소"중 하나입니다.

내 코드 (thisOutlookSession에 있음) :

Option Explicit
Private WithEvents oExpl As Explorer
Private WithEvents oItem As MailItem
Private bDiscardEvents As Boolean
Public WithEvents myOlApp As Outlook.Application
Public strSender1 As String 'name of shered mailbox which is owner of the mail
Public strSender2 As String 'address of shered mailbox
Private Sub Application_Startup()
   Set oExpl = Application.ActiveExplorer
   bDiscardEvents = False
End Sub
Private Sub oExpl_SelectionChange()
   On Error Resume Next
   Set oItem = oExpl.Selection.Item(1)
End Sub
Private Sub oItem_Reply(ByVal Response As Object, Cancel As Boolean)
    strSender1 = "Name of mailbox1"
    strSender2 = "mailbox2@dsg.dk"
    If Response.Class = olMail Then
        If Response.Sender Is Nothing Then
             'MsgBox "There's no sender for the current email", vbInformation
             Exit Sub
        End If
        If Response.Sender = strSender1 Then
            MsgBox "Field 'From' has been changed to " + strSender2
            Response.SentOnBehalfOfName = strSender2
        End If
    End If
    MsgBox Response.SentOnBehalfOfName
    'Set oItem = Nothing
End Sub


  • 답변 # 1

    귀하의 목적으로 SendUsingAccount가 필요하다고 생각합니다

    Private Sub oItem_Reply(ByVal Response As Object, Cancel As Boolean)
        strSender1 = "Name of mailbox1"
        If Response.Class = olMail Then
            If oItem.AutoForwarded = True Then
                If oItem.Sender = strSender1 Then
                    ' oItem was autoforwarded from
                    '  strSender1 - name of shared mailbox which is owner of the mail
                    Response.SendUsingAccount = Session.Accounts.Item(1)
                    MsgBox "Field 'From' has been changed to " + strSender1
                End If
            End If
        End If
    End Sub
    
    

    계좌 번호를 확인하려면 :

    Private Sub AccountNames()
        Dim i As Long
        For i = 1 To Session.Accounts.Count
            Debug.Print " Account " & i & " DisplayName....: " & _
              Session.Accounts.Item(i).DisplayName
            Debug.Print
        Next i
    End Sub
    
    

관련 자료

  • 이전 ios - SKMaps 주석 순서 (z 인덱스)
  • 다음 sql - 한 DB에서 다른 DB로 두 테이블을 마이그레이션하려고 시도했습니다