Сделать гиперссылку в надстройке MS Word - PullRequest
3 голосов
/ 16 декабря 2011

есть ли способ программно добавить гиперссылку на выделенный текст в надстройке MS Word?

Заранее спасибо.

Ответы [ 2 ]

6 голосов
/ 29 декабря 2011

Приведенный ниже код преобразует выделенный текст в гиперссылку, которая указывает на сайт Microsoft:

        Microsoft.Office.Interop.Word.Range currentRange = Globals.ThisAddIn.Application.Selection.Range;

        if (currentRange != null)
        {
            Microsoft.Office.Interop.Word.Hyperlink hp = (Microsoft.Office.Interop.Word.Hyperlink)
                currentRange.Hyperlinks.Add(currentRange, "http://www.microsoft.com");

        }

Фактический текст гиперссылки по умолчанию будет выбранным вами текстом. Если вам нужно, чтобы этот текст имел другое значение, например, фактический адрес URL, вы можете просто изменить свойство TextToDisplay:

hp.TextToDisplay = "http://www.microsoft.com";

Я не совсем уверен, насколько динамичной должна быть ваша логика, но я верю, что приведенный выше пример даст вам толчок в правильном направлении.

2 голосов
/ 31 декабря 2011

Если вы хотите сделать это в VBA, это

ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, ...

Sytnax:

expression.Add(Anchor, Address, SubAddress, ScreenTip, TextToDisplay, Target)
...