C# 4.0、动态关键字与 COM
2010-09-30 22:44:44 来源:WEB开发网使用 COM 对象
现在,新的 C# 4.0 能够在基于 .NET Framework 的应用程序中简单轻松地使用 COM 对象。让我们看看如何在 C# 中创建一个 Word 文档,并且对您在 .NET 3.5 和 .NET 4 中需要的代码进行比较。示例应用程序将基于给定的模板创建一个新的 Word 文档,填入一些内容,并将其保存到一个指定位置。模板包含一些书签,用于容纳一些常用信息。无论您面向的是 .NET Framework 3.5 还是 .NET Framework 4,通过编程来创建 Word 文档的第一步都是添加 Microsoft Word 对象库(请参见图 3)。
图 3 引用 Word 对象库
在 Visual Studio 2010 和 .NET Framework 4 之前,若要完成此操作,您需要类似图 4 所示的代码。
图 4 在 C# 3.0 中创建新的 Word 文档
public static class WordDocument
{
public const String TemplateName = @"Sample.dotx";
public const String CurrentDateBookmark = "CurrentDate";
public const String SignatureBookmark = "Signature";
public static void Create(String file, DateTime now, String author)
{
// Must be an Object because it is passed as a ref
Object missingValue = Missing.Value;
// Run Word and make it visible for demo purposes
var wordApp = new Application { Visible = true };
// Create a new document
Object template = TemplateName;
var doc = wordApp.Documents.Add(ref template,
ref missingValue, ref missingValue, ref missingValue);
doc.Activate();
// Fill up placeholders in the document
Object bookmark_CurrentDate = CurrentDateBookmark;
Object bookmark_Signature = SignatureBookmark;
doc.Bookmarks.get_Item(ref bookmark_CurrentDate).Range.Select();
wordApp.Selection.TypeText(current.ToString());
doc.Bookmarks.get_Item(ref bookmark_Signature).Range.Select();
wordApp.Selection.TypeText(author);
// Save the document
Object documentName = file;
doc.SaveAs(ref documentName,
ref missingValue, ref missingValue, ref missingValue,
ref missingValue, ref missingValue, ref missingValue,
ref missingValue, ref missingValue, ref missingValue,
ref missingValue, ref missingValue, ref missingValue,
ref missingValue, ref missingValue, ref missingValue);
doc.Close(ref missingValue,
ref missingValue, ref missingValue);
wordApp.Quit(ref missingValue,
ref missingValue, ref missingValue);
}
}
更多精彩
赞助商链接