Использование NetOffice.Word для создания документа создает дополнительный пустой документ

У меня есть класс, который создает текстовый документ из объекта в моем приложении. Я использую пакет NetOffice.Word для взаимодействия с документом. Мой документ создан отлично, но появляется еще один пустой документ. Может ли кто-нибудь предложить, что я могу делать неправильно? Вот урезанная версия класса, которая показывает проблему:

Imports NetOffice.WordApi
Namespace Sales.CRM

    Friend Class CaseExporter

        Private Property App As Application
        Private Property Doc As Document
        '       Private Property Data As CaseData

        Public Sub New() 'data As CaseData)
            App = New Application
            Doc = App.Documents.Add
            Doc.Content.SetRange(0, 0)
            '           Me.Data = data
        End Sub

        Public Sub Export()
            EmitTitle()
            App.Visible = True
        End Sub

        Private Sub EmitTitle()
            Dim para = Doc.Content.Paragraphs.Add()
            para.Range.Style = Doc.Styles("Heading 1")
            para.Range.Text = "Some Text Here"
            para.Range.InsertParagraphAfter()
        End Sub
    End Class

End Namespace

Итак, я создаю текстовое приложение, добавляю в него документ, а затем добавляю в него абзац с текстом. Затем я устанавливаю объект приложения видимым, чтобы пользователь мог видеть документ. В этот момент мой документ становится видимым, как и другой пустой документ. Объекты приложения Documents.Count на данный момент все еще возвращают 1


person Kevin O'Donovan    schedule 24.01.2017    source источник
comment
Не уверен, что происходит, но вы всегда можете закрыть все остальные документы с помощью цикла for each, прежде чем сделать приложение видимым... Происходит ли то же самое, если вы не используете NetOffice?   -  person Jbjstam    schedule 12.02.2017


Ответы (1)


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

Возможно, вы тестируете приложение, и экземпляр Word может оставаться в фоновом режиме с открытым существующим документом. В следующий раз, когда вы создадите документ и сделаете Word видимым, он покажет старый и новый документ. Количество документов равно 1, потому что старый документ существует в другом экземпляре Word.

Еще одно странное поведение, которое я получил, когда отладчик убил Word, и в следующий раз Word попытался восстановить документ. Когда он стал видимым, он показал два документа.

person Jozef Izso    schedule 26.07.2017