Search code examples
vbams-wordword-2010

Create Range from current cursor position Word 2010 VBA


I have a .docm document with a user form. On the user form I have a button that needs to insert something (some text, for starter) at the last known cursor position in the document. For this, I want to create a range.

How can I get the starting position for this range?


Solution

    • Selection is the current position in the document.
    • Selection.Range is the Range object of the current Selection.
    • Range.Start is the start position of a Range object (returns or sets a Long).

    If you combine those three you get the cursor position (or the start of the selection if you have text selected):

    Selection.Range.Start
    

    If you only want to enter text att the cursor position the following will do:

    Selection.TypeText "Test"