次の方法で共有


TextSelection.WordRight メソッド

選択したテキストを指定の単語数分右に移動します。

名前空間:  EnvDTE
アセンブリ:  EnvDTE (EnvDTE.dll 内)

構文

'宣言
Sub WordRight ( _
    Extend As Boolean, _
    Count As Integer _
)
void WordRight(
    bool Extend,
    int Count
)
void WordRight(
    [InAttribute] bool Extend, 
    [InAttribute] int Count
)
abstract WordRight : 
        Extend:bool * 
        Count:int -> unit 
function WordRight(
    Extend : boolean, 
    Count : int
)

パラメーター

  • Extend
    型 : System.Boolean
    省略可能です。移動したテキストの範囲選択を解除するかどうかを指定します。既定値は、false です。
  • Count
    型 : System.Int32
    省略可能です。右に移動する単語数。既定値は 1 です。

解説

Extend が true の場合は、選択したテキストのアクティブな終点が Count の単語数分、右に移動します。それ以外の場合は、選択したテキストが折りたたまれて Count の単語数分アクティブな終点の右に配置されます。Count の単語数よりも前にドキュメントの末尾が来た場合は、位置はそのままドキュメントの末尾になります。

Count が負の値の場合、WordRight は WordLeft メソッドと同様に動作します。

テキスト ドキュメントのアクティブな言語マネージャーは、"単語" の意味を定義します。

Sub WordRightExample()
    ' Before running this example, open a text document.
    Dim objSel As TextSelection = DTE.ActiveDocument.Selection
    If objSel.IsEmpty Then
        ' If there is no text selected, swap the words before and after 
        ' the insertion point. We begin by selecting the word before 
        ' the insertion point.
        objSel.WordLeft(True)
        If Not objSel.IsEmpty Then
            ' We can continue only if the selection was not already at 
            ' the beginning of the document.
            Dim strBefore As String = objSel.Text

            ' The text is saved in strBefore; now delete it and move 
            ' past the following word.
            objSel.Delete()
            objSel.WordRight(True)
            If objSel.Text.StartsWith(" ") Or objSel.Text.StartsWith(Microsoft.VisualBasic.ControlChars.Tab) Then
                ' The previous call to WordRight may have skipped some 
                ' white space instead of an actual word. In that case, 
                ' we should call it again.
                objSel.WordRight(True)
            End If

            ' Insert the new text at the end of the selection.
            objSel.Insert(strBefore, vsInsertFlags.vsInsertFlagsInsertAtEnd)
        End If
    Else
        ' If some text is selected, replace the following word with the 
        ' selected text.
        Dim strSelected As String = objSel.Text

        objSel.MoveToPoint(objSel.BottomPoint)
        objSel.WordRight(True)
        If objSel.Text.StartsWith(" ") Or objSel.Text.StartsWith(Microsoft.VisualBasic.ControlChars.Tab) Then
            ' The previous call to WordRight may have skipped some 
            ' white space instead of an actual word. In that case, we 
            ' should call it again.
            objSel.WordRight(True)
        End If

        ' Insert the text, overwriting the existing text and leaving 
        ' the selection containing the inserted text.
        objSel.Insert(strSelected, vsInsertFlags.vsInsertFlagsContainNewText)
    End If
End Sub

.NET Framework セキュリティ

  • 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

関連項目

TextSelection インターフェイス

EnvDTE 名前空間