2010-05-26 2 views
2

나는 VB.NET 프로그램에서 Outlook을 자동화하여 사용자 요청에 따라 일정 및 연락처로 항목을 전송합니다. 모든 것이 작동합니다. 문제는 아닙니다. 문제는 이미 열려 있지 않을 때 이와 같은 Outlook을 자동화하면 숨겨진 인스턴스가 생성된다는 것입니다. 사용자가 아직 작업하고있는 동안 사용자가 프로그램을 종료하지 못하도록하는 것이 유용 할 수있는 방법을 이해할 수는 있지만 Outlook이 하나의 인스턴스 만 강제로 표시하므로 사용자가 내 프로그램이 여전히 변경된 동안 사용자가 검사를 시도하면 Outlook에 연결되면 아무 일도 일어나지 않습니다. 한 인스턴스는 숨겨진 인스턴스이고 사용자는 아무 것도 볼 수 없습니다.COM Interop & Outlook - Outlook을 볼 수있게 설정 하시겠습니까?

예전에 COM 자동화를 사용하여 Word 나 Excel을 볼 수있게 만들었지 만 Outlook에서는 그럴 수 없었습니다. 나는 시도했다 :()

OutlookApp.Visible = 진정한

OutlookApp.Application.Visible = 진정한

OutlookApp.ActiveWindow.Visible = 진정한

OutlookApp.ActiveExplorer.Display을

하지만 그 중 아무 것도 작동하지 않습니다.

중요한 것은 아니지만 Outlook에서 기본 창을 표시 할 수 있는지 알 수 있습니까? 보너스 포인트는 사용자가 인스턴스를 닫지 못하게 할 수 있지만 창을 표시하는 것으로 해결할 것입니다. :)

답변

2

나는 "Outlook"프로세스가 먼저 실행 중인지 확인하기 위해 테스트합니다 그런 다음 Outlook.exe를 닫은 다음 연결하십시오. 이렇게하면 숨겨진 프로세스를 얻지 않아야합니다.

실제로 종료 전망을 취소 할 수있는 방법이 없으므로 응용 프로그램을 종료하고 응용 프로그램에서 처리하기 위해 응용 프로그램 종료 이벤트를 연결할 수 있습니다.

mailItem.Display(); 

그것은 C# 코드,하지만 난 생각이 있지만 비주얼 베이직에 근접 :

+0

흠, 나는 "나는 Outlook의 경로와 파일 이름을 아는 것에 의존한다고 생각합니다."라고 말하려고했습니다. 이제 우리는 마침내 우리가 알 수있는 것을 알게되었습니다. 레지스트리는 누가 "Outlook.Application"을 제공하는지 알려줍니다. 고마워요. 지금이 대답으로 돌아 왔습니다. – JTeagle

3

당신은 당신이 같은 메일을 작성 표시 할 수 있습니다.