Обнаружить окно сравнения в Word 2016 - PullRequest
0 голосов
/ 27 июня 2019

Шаги по настройке документов для кода.

  1. Open Word 2016
  2. Перейти на вкладку «Обзор», «Сравнение групп», использовать встроенные функции «Сравнить» (документы из файловой системы)
  3. В окне сравнения перейдите в раздел «Обзор», «Сравнение групп», используйте свой собственный модуль сравнения (документы из базы данных)

Код, который вызывает ошибку:

var compareDocument = this.thisAddIn.Application.CompareDocuments
    (OriginalDocument: originalDocument,
    RevisedDocument: revisedDocument,
    Destination: dialog.WdCompareDestination,
    Granularity: dialog.WdGranuality,
    CompareFormatting: dialog.CompareFormatting,
    CompareCaseChanges: dialog.CompareCaseChanges,
    CompareWhitespace: dialog.CompareWhitespace,
    CompareTables: dialog.CompareTables,
    CompareHeaders: dialog.CompareHeaders,
    CompareFootnotes: dialog.CompareFootnodes,
    CompareTextboxes: dialog.CompareTextboxes,
    CompareFields: dialog.CompareFields,
    CompareComments: dialog.CompareComments,
    CompareMoves: dialog.CompareMoves,
    RevisedAuthor: dialog.RevisedAuthor,
    IgnoreAllComparisonWarnings: true);

System.Runtime.InteropServices.COMEexpetion: «Ошибка HRESULT E_FAIL имеет вернулся из вызова к компоненту COM '

Эта ошибка появляется только в том случае, если я вызываю мой сравнительный модуль из окна сравнения встроенного объекта.

Окно сравнения

enter image description here

Добавить в:

enter image description here

Ответы [ 2 ]

0 голосов
/ 01 июля 2019

этот код устанавливает видимость моего дополнения

if (this.thisAddIn.Application.Documents.Count>1)
    {
        return false;
    }

это работает, даже если отображается только оригинальный документ, но я не знаю, есть ли ситуации, в которых это может вызвать проблемы.

0 голосов
/ 27 июня 2019

ShowSourceDocument может помочь вам.Если окно сравнения активно, это свойство вернет Enum, определенный следующим образом:

  • wdShowSourceDocumentsBoth 3 Показывает как исходные, так и пересмотренные документы.

  • wdShowSourceDocumentsNone 0Не отображаются ни исходные, ни пересмотренные документы для исходного документа, используемого в функции сравнения.

  • wdShowSourceDocumentsOriginal 1 Показывает только исходный документ.

  • wdShowSourceDocumentsRevised 2 Показывает только пересмотренный документ.

В любых других случаях это свойство выдает исключение.

Вызов GetType () бесполезен, поскольку оба окна (окно сравнения и обычное окно) являются типами COM.

Есть тип недвижимости.Это свойство возвращает Enum с двумя возможными значениями: Normal или Template.

...