2016-12-14 8 views
1

を追加することができない私が使用して、Microsoft.Office.Interop.Wordとテンプレートからドキュメントを追加しよう。私はdocdocxdotxを試しました。私は前にチェックしているので、ファイルが存在すると確信しています。 Wordでファイルを開くと、開かれます。C#のWordの相互運用が文書

+0

最初の引数は*テンプレート*です。 "somedoc.docx"はテンプレートのようには聞こえませんが、SOで有効なコードスニペットに頼ることはできません。ああ、喜び。引数を一切渡さないでください。ファイルを保存するまで名前を付けないでください。 –

+0

@ HansPassant私は実際のテンプレートも(私の質問で述べたように)試しました。そして私はテンプレートとしてファイルを使用する必要があります、私は少し私の質問を明確にした。 –

+0

関連する質問は、[テンプレートからプログラムを使ってワード文書を作成する方法](http://stackoverflow.com/q/4304238/4519059))です。 –

答えて

2

判明、Add()はフルパスを望んでいる:

wordApp.Documents.Add(Path.GetFullPath("somedoc.docx")); 

docxdotxファイルの両方で、正常に動作します。

+0

私はこの同じ問題をしばらくしてから、非常に迷惑になりました! – aguertin

0

新しいファイルを追加する場合は.Add()、既存ファイルを開く場合は.Open()を使用します。

https://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.documents.aspx

+0

既存のファイルに基づいて新しいファイルを作成したい。ここでは 'docx'がテンプレートとして使われます。基本的に 'docx'と' dotx'の唯一の違いは、Wordを開いたときのWordの動作です。 interopについては、これは違いを生じさせていないようです。 –

+0

私はしばらくの間これらを扱っていませんでしたが、私が正しくリコールすれば、ファイル自体はファイル構造の観点からも違いはありません。既存のドキュメントで '.Add()'メソッドを使用しようとすると成功することはないと思います。 – maniak1982