2013-10-22 1 views
0

메일받는 사람을 확인하는 코드가 있으며 수신자의 주소록에 어떤 조직이 설정되어 있는지 확인하고 "SentOnBehalfOfName"속성을 설정합니다. 항목의 수신자가 client2에서 근무중인 경우 "[email protected]"에서 메일을 가져옵니다.수동으로 호출되었지만 Application_ItemSend에서 문제가 발생하면 Outlook 코드가 작동 함

은 나도이 하위를 호출 내 리본의 버튼을 통해 메일을 보내기 전에 코드를 호출 : 나는 메일 ADRESS이 선택 될 것입니다 알고 싶은 경우

Sub Signatur() 
Dim olApp As Outlook.Application 
Dim objMail As Outlook.MailItem 
Set olApp = Outlook.Application 
Set objMail = Application.ActiveInspector.CurrentItem 
Call Signatur_auto(objMail) 
End Sub 

나는이 작업을 수행. 나는 또한 Signatur_auto의

Call Signatur_auto(Item) 

부 같은 서브에게 전화 thisOutlookSession의 itemSend 섹션에서

(내가 그것을에서 복사하지 마십시오는 질문은 ... 긴 이미 너무)에 대해 다루고 있습니다 SentOnBehalfOfName-property, 다른 부분은 항목을 올바른 폴더에 넣고 있습니다. Folder는 SentOnBehalfOfName 속성에 따라 선택됩니다.

이제 흥미로운 부분을 제공 : 폴더 부분이 항상 (SentOnBehalfOfName 이전 일 경우에만 할 수있는) 노력하고 있지만, SentOnBehalfOfName는 "절반은"작동합니다. 미리보기 줄에서 보낸 메일은 "[email protected]"에서 표시되지만 메일을 열면 나에게 보낸 것입니다. 클라이언트는 항상 내 주소 만보고 내 주소에 응답합니다. 원하지 않는 것은 ....

동일한 코드가 호출되는 위치에 따라 다른 결과를 갖는 것을 어떻게 피할 수 있습니까? item send-section에서 sendonbehalf-field를 변경하는 것이 문제입니까?

모든 입력에 감사드립니다! 최대

답변

1

왜 작동하지 않습니까?

ItemSend에서 사용해보십시오.

Dim copiedItem As mailItem 

Set copiedItem = Item.Copy 
copiedItem.SentOnBehalfOfName = "[email protected]" 
copiedItem.Send  
Item.delete 
Cancel = True ' In case your setup generates an error message as described in the comments 

왜 작동합니까? "copiedItem.Send"가 나타나면 ItemSend를 무시합니다.

+0

이것이 재미 있는지 또는 절망에 빠지면 ... 코드가 두 가지 방식으로 동작을 변경하는지 확인하지 못합니다. 1. 발신자가 이제 OK 2. "SaveSentMessageFolder"가 작동하지 않습니다. 더 이상 ... 코드에 두 가지 변경 사항이 있습니다. - 거기에 sentonbehalfname을 설정하지 않아도됩니다. 이전에 이미 완료되었습니다. - 추가 취소 = 참으로 삭제 된 항목을 보내는 데 오류가 발생하지 않습니다. 감사합니다. – Max

+0

@Max 공유 사서함의 소유자입니다. 보낸 편지함은 보낸 편지함의 공유 된 사서함에 있습니다. – niton

+0

내 코드는 보낸 메일을 항상 관련 공유 사서함의받은 편지함에 저장합니다. 귀하의 코드로이 기능은 더 이상 작동하지 않습니다 - 이것은 정말로 이상한 일입니다! 감사합니다. – Max

관련 문제