2009-09-10 4 views
0

사용자가 단추를 클릭 할 수있는 양식을 설정하려고합니다. 연락처의 전자 메일 주소를 가져오고 새 전자 메일을 만들고 사용자가 해당 전자 메일을 입력 할 수있게합니다. 전자 메일로 보내고 전자 메일을 테이블에 저장하십시오.Outlook에서 전자 메일로 액세스 및 다시 보내기

하나의 작은 문제를 제외하고는 제대로 작동합니다. 이전 버전의 Outlook (2003 및 이전 버전)에서는 Word를 전자 메일 편집기로 설정할 수 있습니다. 이 경우 코드가 완료되지 않습니다. 사용자가 보내거나 (myInspector.CurrentItem이 취소됩니다) 이메일 메시지를 종료 할 때까지

Dim objOutlook As Object 
Dim objmessage As Object 
Dim myInspector As Variant 

Set objOutlook = CreateObject("outlook.application", "localhost") 
Set objmessage = objOutlook.createItem(0) 
objmessage.To = Me!email 
Set myInspector = objmessage.GetInspector 
myInspector.display 

(v THIS IS THE CODE THAT LOOPS, SEE BELOW v) 
While Not myInspector.CurrentItem Is Nothing 
    DoEvents 
Wend 

Outlook에서 전자 메일 편집기입니다, 위의 표시된 동안 블록이 반복됩니다. 그런 다음 계속해서 정보를 다시 Access로 가져옵니다. 그러나 Word가 전자 메일 편집기 인 경우 위에 표시된 코드는 영원히 반복됩니다 (myInspector.CurrentItem은 결코 지워지지 않습니다). 왜이 일을하는 지 누구나 아십니까? 그리고 만약 그렇게한다면, 내가 이것을 해결하기 위해 무엇을 할 수 있을까? 그래서 그것은 Outlook을 위해 이메일 편집기처럼 Word에서 작동합니까?

답변

1
While Not objOutlook.ActiveInspector Is Nothing 
    DoEvents 
Wend 

광산에서 작동했습니다. 작동하는지 확인하십시오.

+0

오른쪽에 있습니다. 매력처럼 일했습니다. – KevenDenen

0

Outlook으로 Outlook을 편집기로 열면 Outlook과 Word의 새로운 인스턴스가 만들어집니다. OutlookMsg 개체를 통해 Word를 편집기로 사용하는 것을 취소 할 수 있어야합니다.

메시지가 간단하고 첨부 파일이없는 경우 메모 컨트롤에 입력하고 Access (sendObject 명령)에서 직접 보낼 수는 있지만 Outlook에 저장되지는 ​​않습니다.

+0

고객은 전자 메일 편집기로 Word를 사용할 수 있어야합니다. – KevenDenen

+0

귀하의 클라이언트는 매우 바보입니다. –

+0

고객이 전자 메일 편집기로 Word를 사용하도록하는 이유를 이해하는 것은 항상 흥미 롭습니다. '소프트웨어 지식'에 따라, 그 주장은 기술적으로 받아 들일 만하다. 나는 의심 스럽다. 여러분은 사람들이 '이것이 우리가하는 방식입니다'라는 것 이상의 다른 정당화없이 규칙을 따르라고 요청한 것을 발견 할 수 있습니다. –

관련 문제