zoukankan      html  css  js  c++  java
  • C# 之 Word光标移动 GoTo 方法

      对于 Document 或 Range对象:返回一个 Range对象,该对象代表指定项(例如页、书签或域)的开始位置。

      对于 Selection对象:将插入点移至指定项前面的字符位置,并返回一个 Range对象(但 wdGoToGrammaticalError、wdGoToProofreadingError 或 wdGoToSpellingError 常量除外)。

    使用方法: expression.GoTo(What, Which, Count, Name)

    Range GoTo(ref object What = Type.Missing, ref object Which = Type.Missing, ref object Count = Type.Missing, ref object Name = Type.Missing);
    Range GoToEditableRange(ref object EditorID = Type.Missing);
    Range GoToNext(WdGoToItem What);
    Range GoToPrevious(WdGoToItem What);


    C#示例:WordDoc.Application.Selection.GoTo(ref what, ref which, ref count, ref name);

    1. expression   必需。该表达式返回“应用于”列表中的一个对象。

    2. What  Variant 类型,可选。指定区域或所选内容要移动到的项的类别。可以是下列 WdGoToItem 常量之一。

    [1]wdGoToBookmark        书签
    [2]wdGoToComment
    [3]wdGoToEndnote        尾注
    [4]wdGoToEquation
    [5]wdGoToField
    [6]wdGoToFootnote        脚注
    [7]wdGoToGrammaticalError
    [8]wdGoToGraphic
    [9]wdGoToHeading        标题
    [10]wdGoToLine        行
    [11]wdGoToObject
    [12]wdGoToPage        页
    [13]wdGoToPercent
    [14]wdGoToProofreadingError
    [15]wdGoToRevision
    [16]wdGoToSection
    [17]wdGoToSpellingError
    [18]wdGoToTable        表格

    3. Which  Variant 类型,可选。指定区域或所选内容要移动到的项。可以是下列 WdGoToDirection 常量之一。

    [1]wdGoToAbsolute        绝对位置
    [2]wdGoToFirst        第一个位置
    [3]wdGoToLast        最后一个位置
    [4]wdGoToNext        下一个位置
    [5]wdGoToPrevious        前一个位置
    [6]wdGoToRelative        相对当前的位置下移

    下列示例功能相等,都将所选内容移动到文档中的第一个标题。

    //将光标移动到第一个标题位置
    //方式1
    object what = WdGoToItem.wdGoToHeading;
    object which = WdGoToDirection.wdGoToFirst;
    WordDoc.Application.Selection.GoTo(ref what, ref which);
    //方式2
    object what = WdGoToItem.wdGoToHeading;
    object which = WdGoToDirection.wdGoToAbsolute;
    object count = 1;
    WordDoc.Application.Selection.GoTo(ref what, ref which, ref count);

    4. Count  Variant 类型,可选。文档中的项数。默认值是 1。下面的示例将所选内容移至文档中的第三行。

    //将光标移动到第三行位置
    object what = WdGoToItem.wdGoToLine;
    object which = WdGoToDirection.wdGoToAbsolute;
    object count = 3;
    WordDoc.Application.Selection.GoTo(ref what, ref which, ref count);

      只有正数是有效的。若要指定一个在该区域或所选内容之前的项,可将 Which参数指定为 wdGoToPrevious,并指定一个 Count 值。下面的示例将所选内容向上移动两行。

    //将光标前移动两行位置
    object what = WdGoToItem.wdGoToLine;
    object which = WdGoToDirection.wdGoToPrevious;
    object count = 2;
    WordDoc.Application.Selection.GoTo(ref what, ref which, ref count);

    5. Name  Variant 类型,可选。如果 What参数是 wdGoToBookmark、wdGoToComment、wdGoToField 或 wdGoToObject,则本参数指定名称。

    //将光标前移动移至下一个 DATE 域。
    object what = WdGoToItem.wdGoToField;
    object which = System.Reflection.Missing.Value;
    object count = System.Reflection.Missing.Value;
    object name = "Date";
    WordDoc.Application.Selection.GoTo(ref what, ref which, ref count, ref name);

    注意: 将 GoTo方法用于 wdGoToGrammaticalError、wdGoToProofreadingError 或 wdGoToSpellingError 常量时,返回的 Range对象中包括所有含语法或拼写错误文本。

    示例:

    将所选内容移至下一个表格的第一个单元格。

    //将光标前移动移至下一个表格的第一个单元格。
    object what = WdGoToItem.wdGoToTable;
    object which = WdGoToDirection.wdGoToNext;
    WordDoc.Application.Selection.GoTo(ref what, ref which);

    本示例将插入点移至活动文档第五个尾注引用标记的前面。

    if(WordDoc.Endnotes.Count >= 5)
    {
        //将光标前移动移至活动文档第五个尾注引用标记的前面。
        object what = WdGoToItem.wdGoToEndnote;
        object which = WdGoToDirection.wdGoToAbsolute;
        object count = 5;
        WordDoc.Application.Selection.GoTo(ref what, ref which, ref count);
    }

    本示例将range设置为等于活动文档中第一个脚注引用标记。

    if(WordDoc.Footnotes.Count >= 1 )
    {
        //将光标前移动移至活动文档第五个尾注引用标记的前面。
        object what = WdGoToItem.wdGoToFootnote;
        object which = WdGoToDirection.wdGoToFirst;
        Range range = WordDoc.Application.Selection.GoTo(ref what, ref which);
    
        object unit = wdCharacter; 
        range.Expand(ref unit);
    }

    本示例将所选内容向下移动四行。

    //将光标后移动三行位置
    object what = WdGoToItem.wdGoToLine;
    object which = WdGoToDirection.wdGoToRelative;
    object count = 3;
    WordDoc.Application.Selection.GoTo(ref what, ref which, ref count);

    本示例将所选内容向后移动两页。

    //将光标前移动两页位置
    object what = WdGoToItem.wdGoToPage;
    object which = WdGoToDirection.wdGoToPrevious;
    object count = 2;
    WordDoc.Application.Selection.GoTo(ref what, ref which, ref count);
  • 相关阅读:
    如何在typescript中引入jquery
    Project 'com.cooldatasoft:spring-boot-starter-parent:2.3.10.RELEASE' not found
    FTP服务器需要开几个端口
    c# 创建 windows 托盘图标及上下文菜单
    postgresql 查询表注释 和 字段注释
    idea 使用技巧识记
    c# 基元数据类型占用字节数
    proxifier 配合 fiddler 网络监控 使用方法备忘
    c# 反射备忘
    Delphi IdFTP[3] TIdFTP.Connect、IdFTP.ReadTimeout
  • 原文地址:https://www.cnblogs.com/xinaixia/p/4896809.html
Copyright © 2011-2022 走看看