Получить местоположение курсора при запуске макроса в Visual Studio - PullRequest
4 голосов
/ 07 июля 2010

У меня есть макрос, который я запускаю и записывает заголовок об авторских правах в мой документ. В настоящее время при написании заголовка курсор остается в конце заголовка.

То, что я хотел бы сделать, это захватить текущее местоположение, написать заголовок и вернуть курсор в исходное местоположение.

Кто-нибудь знает, как это можно сделать?

1 Ответ

7 голосов
/ 13 июля 2010

Я думаю, что у меня это есть.

        Dim selection As TextSelection = DTE.ActiveDocument.Selection
        ''# store the original selection and cursor position
        Dim topPoint As TextPoint = selection.TopPoint
        Dim bottomPoint As TextPoint = selection.BottomPoint
        Dim lTopLine As Long = topPoint.Line
        Dim lTopColumn As Long = topPoint.LineCharOffset
        Dim lBottomLine As Long = bottomPoint.Line
        Dim lBottomColumn As Long = bottomPoint.LineCharOffset()
        Dim verticalOffset As Integer = 0

        ''# do a bunch of stuff that adds text to the page

        ''# Restore cursor to previous position
        selection.MoveToLineAndOffset(lBottomLine + verticalOffset, lBottomColumn)
        selection.MoveToLineAndOffset(lTopLine + verticalOffset, lTopColumn, True)

Все это вложено в макрос, который я написал для автоматического добавления заголовка авторских прав в каждый файл кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...