Microsoft.Office.Interop.Word
ライブラリを使用してC#アプリケーションからMicrosoft Word文書を作成しようとしています。テンプレートファイルを使用していくつかのビルディングブロックを保持し、次のようなドキュメントを足場にします:Word.Interopを使用するときにAtttachedTemplateに正しくアクセスするにはどうすればよいですか?
using Word = Microsoft.Office.Interop.Word
Word.Application wdApplication = null;
dynamic wdDocument = null;
try {
wdApplication = new Word.Application();
wdDocument = wdApplication.Documents.Add(Properties.Settings.Default.Template);
wdDocument.AttachedTemplate.BuildingBlockEntries("Agenda.Header").Insert(wdDocument.Paragraphs.Last().Range);
// ...
} catch { }
このようにすべてうまくいきます。問題は、私がwdDocument
としてdynamic
と宣言しているためです。そうしないと、多くの時間と労力を節約できるIntelliSenseのヒントはありません。
しかし、私は、私は次のエラーを取得するwdDocument
Word.Document
として宣言しようとすると:
Error CS1545 Property, indexer, or event '_Document.AttachedTemplate' is not supported by the language; try directly calling accessor methods '_Document.get_AttachedTemplate()' or '_Document.set_AttachedTemplate(ref object)'
は私もMicrosoft.Office.Tools.Word.Document
としてwdDocument
を宣言しようとしたが、唯一wdApplication
wdDocument
間の型変換エラーを導入していること。
添付ファイルのテンプレートに格納されているドキュメントタイプを宣言したり、ビルディングブロックにアクセスする正しい方法は何ですか?
@mjwillsを私はそのリンクを見てきましたが、残念ながらそれは助けにはならないこれは、ビルディングブロックとWord文書を作成するための私の最終的なコードです。それは添付されたテンプレートを設定し、そのプロパティにはアクセスしません。とにかくありがとう! – heuels
だから 'get_AttachedTemplate'はあなたのために働かないのですか? – mjwills
'get_AttachedTemplate()'を試してみるとコンパイルエラーを共有できますか? – mjwills