class WordBeforeCSharp4
{
static void Main()//改善COM互操作性 C#4之前操作Word
{
object missing = Type.Missing;
//missing {System.Reflection.Missing}
var app = new Application { Visible = false };//启动Word 创建COM类型实例
//app {Microsoft.Office.Interop.Word.ApplicationClass}
app.Documents.Add(ref missing, ref missing, ref missing, ref missing);
//新建文档 使用对象初始化表达式将其设置为可见;然后创建并填充文档
//向文档插入文本的机制没有预想的那样简单,Word文档结构相当复杂
Document doc = app.ActiveDocument;
//doc {Microsoft.Office.Interop.Word.DocumentClass}
Paragraph para = doc.Paragraphs.Add(ref missing);
para.Range.Text = "Thank goodness for C# 4";
//para COM 对象
object filename = "demo.doc";//保存文档
object format = WdSaveFormat.wdFormatDocument97;
doc.SaveAs(ref filename, ref format,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing);
//filename "demo.doc" 讨厌的保持文档,SaveAs包含16个参数,只使用另个。
//甚至两个也需要按引用传递,以为要创建局部变量。
//format Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatDocument
doc.Close(ref missing, ref missing, ref missing);
//关闭Word 和应用程序。两个调用都包含3个我们不关心的可选参数。
app.Application.Quit(ref missing, ref missing, ref missing);
}
}
启动Word,创建包含一小段文本的文档,保存然后退出。
输出文件
demo.doc 22.0 KB 在文档里面 C:\Users\Adminstrator\Documents
Thank goodness for C# 4