2009-09-08 3 views
0

열기 & 저장 대화 상자를 직접 대체하는 Word COM 추가 기능을 작성하고 있습니다.COM 추가 기능에서 Word의 열린 파일 대화 상자로 대체

저장 대화 상자의 경우 응용 프로그램 이벤트에서 documentBeforeSave 이벤트를 처리하고 있습니다. 이것은 잘 작동합니다.

열기 대화 상자에는 해당 이벤트가 없으므로 현재 열기 ... 메뉴 항목의 onClick을 처리하고 기본 처리를 취소합니다. 이것은 사용자가 실제로이 메뉴 항목을 사용하는 경우에는 정상적으로 작동하지만 대신 사용자가 CTRL-O를 누르면 여전히 원래 대화 상자가 표시됩니다.

이 대화 상자에 연결하는 더 좋은 방법이 있습니까? 그리고 그렇지 않은 경우,이 키 누르기를 우아하게 처리 할 수있는 방법이 있습니까? 아니면 키보드 후크를 해결해야합니까?

참고 : 추가 기능은 결국 Office 2003, 2007 및 2010에서 작동하지만 다른 대상에서 다른 코드 경로를 사용하는 것은 물론 완벽합니다. 나는 모든 버전의 모든 솔루션에 관심이있다.

답변

1

Word 2007 이상에서는 구현이 매우 간단합니다. 간단히 두 번째는 당신이 이벤트를 취소 할 수있게 해주는 IN/OUT 매개 변수 인, 리본 XML

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> 
    <commands> 
    <command idMso="FileOpen" onAction="doOpen" /> 
    </commands> 
    ... 

doOpen 방법은 두 개의 매개 변수가 있습니다 통해 제공 FileOpen 명령의 용도를 변경.

이전 버전의 Office의 경우 완전 방탄 솔루션을 구현 한 적이 없었습니다.

관련 문제