Как прочитать текстовый документ, который уже открыт? - PullRequest
0 голосов
/ 27 марта 2019

Я создал надстройку Word.Я хочу прочитать активный текстовый документ, который в данный момент открыт (Содержание текстового документа), нажав кнопку, которая находится в форме окна, и окно открывается, нажав кнопку на ленте.Итак, позвольте мне прояснить, как происходит поток.

Лента -> Кнопка на ленте (щелкните ее) -> Открытая форма окна (Имеющая кнопку для чтения активного содержимого документа) -> Считывает документ.

Я попытался получить доступ к содержимому документа с помощью свойства WordOpenXML, и второй метод, который я попытался, - получить доступ к абзацам активного документа.

Попробуйте 1: Доступ к абзацам

private async Task<bool> SaveDocToCryptacomm1(string fileName)
{
    [...some code here...]

    StringBuilder sb = new StringBuilder();
    long paraCount = application.ActiveDocument.Paragraphs.Count;
    while (i < paraCount) {
        sb.Append(application.ActiveDocument.Paragraphs[i].Range.Text);
    }

    [...some code here...]
}

Попытка 2: доступ к содержимому из свойства WordOpenXML.

private async Task<bool> SaveDocToCryptacomm1(string fileName)
{
    [...some code here...]

    Encoding.Default.GetBytes(application.ActiveDocument.WordOpenXML);

    [...some code here...]
}

Результат попытки 1:

Документ успешно сохранен, но содержимого нет.

Результат попытки 2:

Документ успешно сохранен, но когда я пытаюсь открыть его, он поврежден.

В этом случае, что я долженсделать, чтобы прочитать активный документ из события нажатия кнопки формы окна.

Будет ли работать Microsoft.Office.Interop.Word.Application.ActiveDocument?Я что-то не так делаю или что?

Редактировать: Нужно сделать это, не сохраняя открытый документ на локальном диске и предоставленный код, который я написал в событии нажатия кнопки формы окна.Будет ли это работать?

...