2013-08-02 6 views
1

현재 두 개의 Microsoft Word 문서를 Microsoft.Office.Interop.Word과 비교해야합니다. 나는 정확하게 내가 원하는 것을 수행하는 Application.CompareDocument 메쏘드를 발견했다. 다음 C# 소스 코드 (조각) 현재의 활성 문서와 파일 시스템에 저장된 문서를 비교하고 새 문서에 결과 열립니다Microsoft.Office.Interop.Word를 사용하여 Microsoft Word 단추 컨트롤을 활성화하십시오.

using Word = Microsoft.Office.Interop.Word; 

// [...] 

Word.Document originalDocument = this.application.Documents.Open(filePath, ReadOnly: true, Visible: false); 
Word.Document diffDocument = this.application.CompareDocuments(
    originalDocument, 
    this.application.ActiveDocument); 
((Word._Document)originalDocument).Close(SaveChanges: false); 

// TODO Activate two built-in Microsoft Word buttons. 

// [...] 

그러나 나는 또한 활성화해야을 두 내장에있는 버튼 새로 만든 Word 문서의보기 잠시 MSDN에서 검색 한 후 원하는 결과를 얻을 수있는 방법을 찾을 수 없습니다. 이 질문에 두 개의 스크린 샷을 추가했습니다. 활성화 할 내장 버튼을 표시합니다 (슬프게도 독일어 버전의 Microsoft Word 2010을 사용하므로 정확한 번역이 무엇인지 알 수 없습니다).

  1. "Quelldokumente anzeigen"("소스 문서 표시"로 번역 될 수 있음). "Beide anzeigen"버튼을 활성화해야합니다 ("Display both"로 번역 될 수 있음). Screenshot of the button Quelldokumente anzeigen

  2. "Überarbeitungsbereich"("개정판 창"으로 번역 될 수 있음). "수직 수정 창"이라고 번역 할 수 있습니다. "버튼을 활성화해야합니다. Screenshot of the button Überarbeitungsbereich

내가이 두 버튼의 (AN 메서드 호출을 통해 직접 또는 간접적으로) 상태를 modifiy 수있는 방법을 알고 싶어요, 결론을합니다.

EDIT (2013년 8월 3일)

개정 패널은 다음의 방법을 통해 설정 될 수

diffDocument.ActiveWindow.View.SplitSpecial = Word.WdSpecialPane.wdPaneRevisionsVert; 

I 여전히 용액을 검색하고 소스 문서를 모두 표시하고 수정 된 문서 창.

EDIT (2013년 8월 5일)

쇼 소스 문서 버튼은 다음과 같은 방법을 통해 두 소스 문서 보여 수정할 수 있습니다 문제의

diffDocument.ActiveWindow.ShowSourceDocuments = Word.WdShowSourceDocuments.wdShowSourceDocumentsBoth; 

답변

2

가능한 솔루션을 :

광고 1. 먼저, ReadOnly: false으로 문서를 여는 동안 acc 모두 C 번호에 ORDING하고 ReadOnly: true 매개 변수를 설정할 때 VBA 테스트가 작동하지 않습니다 :

((Word._Document)diffDocument).Windows.CompareSideBySideWith(originalDocument);

광고 2. 당신이 말씀 응용 프로그램의 윈도우 객체를 참조하기 위해 필요한이 시간.appWRD 내 코드에서 Word.Application입니다 :

appWRD.ActiveWindow.View.SplitSpecial = Word.WdSpecialPane.wdPaneRevisionsVert; 

: 다음은 활성 창에 대한 코드입니다.

광고 1 다시. (위의 것은 오해의 결과입니다). 나는 수정 창에 원하는 2. 정확히 원하는 않는

appWRD.ActiveWindow.ShowSourceDocuments = Word.WdShowSourceDocuments.wdShowSourceDocumentsBoth; 
+0

광고 :이 필요한이 코드를 제공해야합니다 몇 가지 테스트에 따르면

. 그러나 광고 1.은 완전히 다른 것을합니다 : 그것은 "나란히 - 나란히"보기에 문서를 보여줍니다. 이는 "소스 문서 비교"버튼 뒤에있는 기능과 다릅니다. "Original anzeigen"(engl. "Show original")을 클릭하면 현재 창의 내부에 새로운 작업 창이 표시됩니다. 어쩌면 거기에 또 다른 뷰 방법이 있지만, 아직 그것을 찾을 수 없습니다. –

+0

@FlorianWolters, 조금 나중에 다시 확인해 보겠습니다. 또는 ... 월요일에 –

+0

그게 정확히 필요한 것입니다! 당신의 도움을 주셔서 대단히 감사합니다! –

관련 문제