2017-07-26 20 views
0

単語の文書を修正して特定の位置にデータを挿入しようとしています(テンプレート文書を用意して空白を埋める必要があります)。 Microsoft.Office.Interop.Wordライブラリを使用して、これまでドキュメントの最後にテキストを挿入する方法を理解してから、コードを書き留めて、誰かが私を助けてくれるようにします。ありがとう!Word文書に特定の場所でテキストを書き込むには#

 private void button1_Click(object sender, EventArgs e) 

     string str = null; 
     OpenFileDialog dia = new OpenFileDialog(); 
     if (dia.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
     { 
      str = dia.FileName; 
      Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application(); 
      Microsoft.Office.Interop.Word.Document doc1 = app.Documents.Open(str); 

      object missing = System.Reflection.Missing.Value; 
      doc1.Content.Text += "Merge?"; 
      app.Visible = true; 
      doc1.Save(); 
      this.Close(); 

       } 
      } 

答えて

0

あなたが特定の位置にテキストを挿入するRangeオブジェクトを使用することができます。 msdn

doc1.Range(0, 0).Text = "Hello World"; 

テンプレートを持っているし、テキストを挿入する位置は同じ場所に常にある場合は、Bookmarkを使用することができます。 msdn

ここで[更新]

ブックマークでWord文書にテキストを追加するための完全な例です。このソリューションにより

Application app = new Microsoft.Office.Interop.Word.Application(); 
Document doc = app.Documents.Open(@"your file"); 
string bookmark = "BookmarkName"; 

Bookmark bm = doc.Bookmarks[bookmark]; 
Range range = bm.Range; 
range.Text = "Hello World"; 
doc.Bookmarks.Add(bookmark, range); 

、ブックマークは削除されませんとのことができます。後で同じコードを追加/変更してください。

+0

また、テキストを挿入する各位置の座標を見つける方法がありますか? thx – user3720015

+0

場所が常に同じ場合は、ドキュメントにプレースホルダを追加し、c#の 'bookmark'オブジェクトを使用してテキストを追加できます。この例を参照してくださいhttps://msdn.microsoft.com/en-us/library/ad6ks7k0.aspx – Ben

+0

申し訳ありませんが再度尋ねますが、前回挿入したブックマークのテキストを削除する方法を知っていますか?私は最初に "いくつかのテキスト"を挿入することを意味し、プログラムを開始する次の時間は、テキスト "テキスト"の後にテキスト "その他のテキスト"を挿入することを意味するので、以前にブックマークに挿入されていますか?thx – user3720015

関連する問題