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);

 

posted on 2015-10-21 09:02  Now,DayBreak  阅读(6116)  评论(0编辑  收藏  举报