Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2014, 14:02   #1
fym
Пользователь
 
Регистрация: 17.12.2014
Сообщений: 11
По умолчанию замена текста на гиперссылку на сайт в интернете

Всем доброго времени суток!
Проблема такая.
Есть куча случаев подобного плана : есть название сайта и ниже ссылка на него.
Например,
Форум программистов
http://programmersforum.ru/newthread...newthread&f=19
Нужно преобразовать текст в гиперссылку. Чтобы, клацая на Форум программистов, можно было перейти на сайт.

И таких источников море. Переделывать каждый вручную - муторное дело.
Можно ли создать универсальный макрос для такой задачи в ворде 2007 или 2010?
Помогите, пожалуйста, кто чем может
fym вне форума Ответить с цитированием
Старый 17.12.2014, 21:19   #2
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

..жми F5 (найти в документе), загоняеш название ссылки, и дальше Ctrl+K с адресом.
Если название ссылки или адреса разные, то одним махом (скриптом) не получится..
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 18.12.2014, 11:17   #3
cw_o
Пользователь
 
Регистрация: 25.10.2009
Сообщений: 92
По умолчанию

попробуйте:
Код:
Sub AddLinksForText()
    Dim link As Hyperlink
    Dim s As String
    For Each link In ActiveDocument.Hyperlinks
        s = link.Address
        link.Range.Select
        Selection.MoveUp wdParagraph, 2, wdExtend
        ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:=s
    Next link
End Sub
Работает, если ссылка расположена сразу следующим абзацем после текста
cw_o вне форума Ответить с цитированием
Старый 25.12.2014, 22:29   #4
fym
Пользователь
 
Регистрация: 17.12.2014
Сообщений: 11
Радость

Да, код работает, спасибо
Только можно как-то контролировать процесс? Сделать, чтобы он работал для единичного случая? Допустим, он заменяет первую найденную ссылку после курсора. Потому что есть ссылки, которые необходимо так заменить, а какие-то не трогать.
fym вне форума Ответить с цитированием
Старый 07.01.2015, 21:02   #5
fym
Пользователь
 
Регистрация: 17.12.2014
Сообщений: 11
По умолчанию

Так как ограничить действие макроса? Чтобы или была единичная замена по первой найденной ссылке или меняло только в выделенном участке текста? Хээлп. Пожалуйста.
fym вне форума Ответить с цитированием
Старый 13.01.2015, 16:30   #6
cw_o
Пользователь
 
Регистрация: 25.10.2009
Сообщений: 92
По умолчанию

чтоб меняло в выделенном тексте:
Код:
Sub AddLinksForText()
    Dim link As Hyperlink
    Dim s As String
    For Each link In Selection.Hyperlinks
        s = link.Address
        link.Range.Select
        Selection.MoveUp wdParagraph, 2, wdExtend
        ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:=s
    Next link
End Sub
cw_o вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сайт не отображается полностью в интернете!!! Abay19941308 WordPress и другие CMS 1 27.09.2014 17:11
Сайт в интернете Vzlom Windows 9 28.05.2014 12:40
Сайт в интернете anliya Помощь студентам 2 08.03.2010 08:16
Как создать ярлык на сайт в интернете Levhik Общие вопросы Delphi 4 03.03.2009 10:56