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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM