2017-07-03 7 views
1

単語docのインスタンスを作成し、あらゆる形式のテキストと書式を挿入するが、すでにhasntしていない文書を保存する場所を見つけることができないプログラムで作成および開かれました。C#でテキストを作成してテキストを挿入してWord文書を保存する

本質的には、docxファイルを作成し、それをリッチテキストボックスのテキストで埋めたいとします。 How to Insert text in the end of the documentにあるコードIveを使用して、私が最初に文書を作成すると、これを達成することができます。しかし、_document.SaveAs()を使用することの提案にもかかわらず、ファイルが既に存在しない場合SaveAsダイアログでプロンプトが表示されると思われますが、常にタイプミスマッチエラーが発生します。私が使用するファイルを事前に作成するのであれば、これは作業コードです:

OpenFileDialog SDO = new OpenFileDialog(); 
SDO.ShowDialog(); 

Microsoft.Office.Interop.Word._Application oWord; 
object oMissing = Type.Missing; 
oWord = new Microsoft.Office.Interop.Word.Application(); 
oWord.Visible = false; 

oWord.Documents.Open(SDO.FileName); 

oWord.Selection.TypeText(richTextBox1.Text); 
oWord.ActiveDocument.Save(); 
oWord.Quit(); 

今1は、OpenFileDialogue Documents.Openのための行を削除すると、C#で作成した新しいファイルを保存するためにいくつかの道を行くだろうことを前提としていますしかしさえして:あなたはそれを自分で保存できるように

Microsoft.Office.Interop.Word._Application oWord; 
object oMissing = Type.Missing; 
oWord = new Microsoft.Office.Interop.Word.Application(); 
oWord.Visible = false; 

SaveFileDialog SD = new SaveFileDialog(); 

SD.Filter = "Word File |*.docx"; 
SD.Title = "Save File"; 
SD.ShowDialog(); 


oWord.Documents.Save(SD.FileName,WdNewDocumentType.wdNewXMLDocument); 

oWord.Selection.TypeText(richTextBox1.Text); 
oWord.ActiveDocument.Save(); 
oWord.Quit(); 

他の例には、開いているドキュメントを見アイブが、私はそれは、ファイル名を選択する以外の人間の介入なしに保存する必要があります。

すべてのヘルプ感謝、また、尖塔や宝石のようなサードパーティのDLLのオプションがそのように排除されていないオプション:(

誰がプログラムの前に存在していませんでしWord文書を作成し、保存する簡単な例を持っている場合idはずっと義務が走った。

答えて

2

The Microsoft MSDN documentation has tons of useful guides and examples.

あなたは含めたいしようとしている。

using Word = Microsoft.Office.Interop.Word; 
using Microsoft.Office.Tools.Word; 

その後、あなたのアプリケーションを宣言:

Word.Application app = new Word.Application(); 

Declare your new document:

Word.Document doc = app.Documents.Add(); 

Add text to your documnet

は、これらの文書を保存するには、2つの方法があります。私はとても混乱していた理由について

Programmatically

Using a save file dialog box

+1

突然イム混乱して!ありがとう、ロドリゲス氏、私はあなたのコーディングawesomenessの前に曲がる。 – Dan

1

これは私がそれを行う方法です。

app = new Word.Application(); 

object oMissing = System.Reflection.Missing.Value; 
Word._Document oDoc = app.Documents.Add(ref oMissing, ref oMissing, 
ref oMissing, ref oMissing); 

.....

app.ActiveDocument.SaveAs2(fileName); 

ここで、filenameは希望のファイル名です。もともと私がこれをやっていたとき、私は多くの文書化されていない(したがってサポートされていない)機能があることを発見しました。 SaveAs2はその1つです!しかし、それは動作します。

関連する問題