2011-09-15 2 views
0

양식을 불러오는 Excel 추가 기능이 있습니다. 사용자가 일부 값을 채우고 "적용"버튼을 클릭하면 값이 기본 워크 시트로 올바르게 전송되고 팝업 양식이 닫힙니다. 그러나 사용자가 "취소"를 클릭하면 사용자가 취소하기를 원하는지 확인하는 메시지 상자가 나타납니다. "예"를 클릭하면 팝업 양식이 닫히지 만 Alt-Tab을 누르는 것과 같은 이전 활성 창 뒤에 Excel이 전송됩니다. 이것은 좋지 않다!Excel 추가 기능 폼이 양식을 닫을 때 백그라운드로 Excel을 보냅니다.

아무도 Excel을 정상적으로 유지하는 방법에 대한 생각이 있습니까?

감사합니다.

랜디

답변

0

와 메시지 상자 ActiveWindow.ActivatePrevious 그리고 시험 직후에 넣고 수도 있지만 적용 아무것도 찾을 수 없습니다.

 IntPtr excelWindow = excelWindow = SpreadsheetApplicationFactoryBase.TheExcelApp.ExcelWin32Window.Handle; 
     Win32.SetActiveWindow(excelWindow); 

못생긴,하지만 작동 : 마지막으로 나는이 마련하기 위해 멀 베리 부시 주위에 갔다. 팩토리는 Excel 인스턴스를 생성/반환하는 작은 클래스입니다.

대단히 감사하겠습니다.

랜디

+0

예/아니오 확인 상자가 전체 응용 프로그램을 백그라운드로 보내는 이유를 알고 싶습니다. 그것은 저에게 어떤 의미가 없습니다. – EoRaptor013

0

는 내가 ActiveWindow /의 ActiveView에 변화의 모든 종류를 찾았다

Debug.Print ActiveWindow.Caption 
ActiveWindow.ActivatePrevious 
Debug.Print ActiveWindow.Caption 
+0

정말 바보 같은가요? ActiveWindow가 없거나 IntelliSense가 인식하지 못합니다. 또는, 이것은 인스턴스화 된 것에 대한 귀하의 속기입니까? – EoRaptor013

+0

Intellisense가 나를 위해 팝업되었습니다 ... 어쩌면 당신은'Application.ActiveWindow'를 시도 할 수 있습니다. 그것은 이상하다. 다시 Windows 머신으로 돌아 가면 다시 시도 할 것입니다. – Brad

+0

예, 방금 확인했습니다. "activew"를 입력하면 Ctrl + Space로 입력을 완료합니다. 명시 적으로 객체에 연결되지 않습니다. – Brad

관련 문제