Highlight current word and line in a TextBox control

Highlight current word and line in a TextBox control

Here’s a simple way to highlight the current word in a TextBox control (i.e. the word where the caret is):

Text1.SetFocusSendKeys "^{LEFT}+^{RIGHT}"

Similarly, you can highlight the current line in a multiline TextBox control as follows:

Text1.SetFocusSendKeys "{HOME}+{END}"

Deleting the current word or the current line is as simple. You just need to add a {DELETE} key at the end of the key sequence:

Text1.SetFocusSendKeys "{HOME}+{END}{DELETE}"

You can’t copy the highlighted text to the Clipboard using the “^C” sequence. However, since the text is currently highlighted you can simply use the SelText property. Curiously, however, the following code fails:

Text1.SetFocusSendKeys "{HOME}+{END}"Debug.Print Text1.SelText     ' display a null string

To have it work properly you must add a DoEvents command:

Text1.SetFocusSendKeys "{HOME}+{END}"DoEventsDebug.Print Text1.SelText     ' this works

See also  11 Effective Keyword Research Tools and Techniques

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist