使用NetOffice.Word创建文档会创建另一个空白文档

时间:2017-01-24 18:43:06

标签: vb.net ms-word automation 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

所以我正在创建一个单词应用程序,向其中添加一个文档,然后添加一个带有一些文本的段落。然后我将应用程序对象设置为visible,让用户看到该文档。此时我的文档变得可见,但另一个空白文档也是如此。此时应用程序对象Documents.Count仍然返回1

1 个答案:

答案 0 :(得分:0)

我正在测试这个场景,看起来其他文档是开发过程中出现问题的结果。

您可能正在测试该应用,并且Word的实例可能会保留在后台并且现有文档处于打开状态。下次创建文档并将Word设置为可见时,它将显示旧文档和新文档。文档计数只有1,因为旧文档存在于另一个Word实例中。

当调试器杀死Word并且下次Word尝试恢复文档时,我得到了另一种奇怪的行为。当它可见时,它显示了两个文件。