Выпонить макрос по клику на ссылке [РЕШЕНО]

Автор dr.Faust, 29 мая 2010, 21:58

0 Пользователи и 1 гость просматривают эту тему.

dr.Faust

... и получить в нём её текст.
Как?
Свобода информации - свобода личности!

Рыбка Рио

Макрос по клику на ссылке в тексте? или диалоге?
ubuntu 12.04 + LibO3.6.0

dr.Faust

Свобода информации - свобода личности!

macros

#3
Формат - Символы - Гиперссылка - События - Макросы - Назначить


[вложение удалено Администратором]

dr.Faust

Свобода информации - свобода личности!

Рыбка Рио

Можно так?
sub zzz
   Doc=ThisComponent
   VK=Doc.CurrentController.ViewCursor
   TK=Doc.Text.createTextCursorByRange(VK,FALSE)
   S=TK.HyperLinkURL
   Do while TK.HyperLinkURL<>""
      TK.goLeft(1,FALSE)
   Loop
   TK.goRight(1,FALSE)
   Do while TK.HyperLinkURL<>""
      TK.goRight(1,TRUE)
   Loop
   msgbox TK.String
end sub


[вложение удалено Администратором]
ubuntu 12.04 + LibO3.6.0

Рыбка Рио

В предыдущем примере получается бесконечный цикл, если ссылка находится в самом начале или конце документа. Может так тогда?
sub zzz
   Doc=ThisComponent
   VK=Doc.CurrentController.ViewCursor
   TK=Doc.Text.createTextCursorByRange(VK,FALSE)
   S=TK.HyperLinkURL
   Do while TK.HyperLinkURL<>""
      TK.goLeft(1,FALSE)
      If TK.isStartOfParagraph=TRUE then exit do
   Loop
   Do while TK.HyperLinkURL<>""
      TK.goRight(1,TRUE)
      If TK.isEndOfParagraph=TRUE then exit do
   Loop
   msgbox TK.String
end sub
ubuntu 12.04 + LibO3.6.0

macros

#7
А как получить не "текст" гиперссылки, а ее "адрес" (и как текст, и как гиперссылку -> в переменные)?

Не "Запустить макрос1",  а "http://forumooo.ru/index.php/topic,414.0.html".




[вложение удалено Администратором]

Рыбка Рио

Вот так?

sub  zzz
  msgbox ThisComponent.CurrentController.ViewCursor.HyperLinkURL
end sub


[вложение удалено Администратором]
ubuntu 12.04 + LibO3.6.0

macros


dr.Faust

Слишком просто...
... и получить текст именно этой гиперссылки?

В тексте будет штук 50 ссылок и по клику на каждой надо получать её текст.

Я уже решил проблему, совершенно иным способом, но по клику на тексте, так и не удалось запустить макрос получающий этот текст - интересная проблема...
Свобода информации - свобода личности!

Рыбка Рио

Да, текст именно той ссылки, на которую кликнули.
ubuntu 12.04 + LibO3.6.0

macros

#12
Цитата: dr.Faust от 30 мая 2010, 11:55
Слишком просто...
... и получить текст именно этой гиперссылки?

В тексте будет штук 50 ссылок и по клику на каждой надо получать её текст.

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

Ничего не понял. Чем не устраивает решение от Трио, с файлом примера?

Можно посмотреть Ваш файл примера, где решение от Трио не работает?

dr.Faust

Чёрт.
Спасибо - не досмотрел. Окинул взглядом код и решил, что ищется первая ссылка в документе...
Просто я долбался с объектами запуска, а здесь вот как всё просто.
Спасибо!
Свобода информации - свобода личности!