SelLength, SelStart, SelText Properties
Applies To
Combo Box control, Text Box control.
Description
You can use these properties for tasks such as positioning the insertion point, establishing an insertion range, selecting parts of strings in a text box or combo box control, and deleting text.
- The SelLength property specifies or determines the number of characters selected in a text box or the text box portion of a combo box.
- The SelStart property specifies or determines the starting point of the selected text or the position of the insertion point if no text is selected.
- The SelText property returns a string containing the selected text. If no text is selected, the SelText property contains a Null value.
Setting
- The SelLength and SelStart properties use an Integer in the range 0 to the total number of characters in a text box or text box portion of a combo box.
- The SelText property uses a string expression that contains the text selected in the control. If the control contains selected text when this property is set, the selected text is replaced by the new SelText setting.
You can set the SelLength and SelStart properties by using a macro or Visual Basic. The SelText property is read-only.
Remarks
To set or return these properties for a control, the control must have the focus. To move the focus to a control, use the SetFocus method.
Setting the SelLength property to a number less than 0 produces a run-time error.
Setting the SelStart property to a number greater than the number of characters in the control sets the property to the existing text length.
Changing the SelStart property cancels the selection, places an insertion point in the text, and sets the SelLength property to 0.
See Also
SetFocus method, Text property.
Example
The following example uses two event procedures to search for text specified by a user. The text to search is set in the form's Load event procedure. The Click event procedure for the Find button (which the user clicks to start the search) prompts the user for the text to search for and selects the text in the text box if the search is successful.
Sub Form_Load()
Dim ctlTextToSearch As Control
Set ctlTextToSearch = Forms!Form1!TextBox1
ctlTextToSearch.SetFocus ' SetFocus to text box.
ctlTextToSearch.Text = "This company places large orders " _
& "twice a year for garlic, oregano, chilies and cumin."
End Sub
Sub Find_Click()
Dim strSearch As String, intWhere As Integer
Dim ctlTextToSearch As Control
' Get search string from user.
With Me!Textbox1
strSearch = InputBox("Enter text to find:")
' Find string in text.
intWhere = InStr(.Value, strSearch)
If intWhere Then
' If found.
.SetFocus
.SelStart = intWhere - 1
.SelLength = Len(strSearch)
Else
' Notify user.
MsgBox "String not found."
End If
End With
End Sub