我正在尝试使用Microsoft.Office.Interop.Word
库从我的C#应用程序创建Microsoft Word文档。我使用模板文件来保存几个构建块并使用它们来构建文档:
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
我没有获得任何智能感知提示,否则会节省我很多时间和精力。
但是,当我尝试将wdDocument
声明为Word.Document
时,我收到以下错误:
错误CS1545属性,索引器或事件' _Document.AttachedTemplate'语言不支持;尝试直接调用访问器方法' _Document.get_AttachedTemplate()'或' _Document.set_AttachedTemplate(ref object)'
我也尝试将wdDocument
声明为Microsoft.Office.Tools.Word.Document
,但这只会在wdApplication
和wdDocument
之间引入类型转换错误。
声明文档类型或访问存储在附加模板中的构建块的正确方法是什么?
答案 0 :(得分:1)
非常感谢@mjwills让我走上正轨。这是我用构建块创建Word文档的最终代码:
{{1}}
请参阅MSDN上的这篇精彩文章以供参考:Retrieving Custom Building Blocks from Templates in Word 2007