使用C#进行Word 2002和Excel 2002编程

http://tech.ddvip.com   2006年08月01日    社区交流

本文详细介绍使用C#进行Word 2002和Excel 2002编程

  • 要运行 example2.exe(与 example2.cs 源文件位于同一文件夹中),双击该程序即可。
  •   示例 3:打开现有的 Word 文档

      同 Documents.SaveAs 方法一样,Documents.Open 方法签名在 Office 2000 和 OfficeXP 之间也存在差别,因此新名称包装在 #if 声明中。Open 方法和 SaveAs 方法一样简单,如下所示:

    <FONT class=90v> object fileName = Environment.CurrentDirectory+"\\example3";
    object optional=Missing.Value;
    #if OFFICEXP
    _Document doc = app.Documents.Open2000( ref fileName,
    #else
    _Document doc = app.Documents.Open( ref fileName,
    #endif
    ref optional,
    ref optional,
    ref optional,
    ref optional,
    ref optional,
    ref optional,
    ref optional,
    ref optional,
    ref optional,
    ref optional,
    ref optional);
    </FONT>

      帮助中的 Word 2002 Visual Basic 参考以及 MSDN(英文)中有关 Documents.Open 方法的说明记录了这些可选参数。

      本示例中比较让人感兴趣的代码是,打开的文档中的文本先被突出显示,然后被剪切:

    <FONT class=90v> object first=0;
    object last=doc.Characters.Count;
    Range r = doc.Range(ref first, ref last);
    r.Select();
    Thread.Sleep (2000);
    r.Cut();</FONT>

      第一个字符和最后一个字符位置的整数值被封装到第一个和最后一个对象,然后传递给 Document.Range() 函数,该函数返回 Select() 函数调用的 Range 对象。这种显式封装是必需的,因为 Range 对象期待引用其参数,并且任何隐式或显式的转换都会将参数改为右值,而右值是不能按引用传递的。本示例使文本突出显示持续两秒钟,而后对文本进行剪切。剪切操作也可以通过以下代码实现:

    责编:豆豆技术应用

    正在加载评论...