2017-01-24 5 views
0

私のアプリケーションのエンティティからワードドキュメントを作成するクラスがあります。 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

+0

何が起きているのかわかりませんが、アプリケーションを表示する前に、ループごとに常に他のすべてのドキュメントを閉じることができます... NetOfficeを使用しない場合も同じことが起こりますか? – Jbjstam

答えて

0

このシナリオをテストしていましたが、他のドキュメントは開発中に問題が発生しているようです。

アプリケーションをテストしている可能性があります。また、Wordのインスタンスは、既存のドキュメントを開いた状態でバックグラウンドにとどまる場合があります。次回に文書を作成してWordを表示するように設定すると、古い文書と新しい文書が表示されます。古い文書がWordの別のインスタンスに存在するため、文書数は1にすぎません。

デバッガがWordを殺して次回Wordがドキュメントを回復しようとしたときに、別の奇妙な動作が発生しました。それが目に見えたら、それは2つの文書を示しています。

関連する問題