Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

18 Апрель 2021, 18:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Выпонить макрос по клику на ссылке [РЕШЕНО]  (Прочитано 10028 раз)
0 Пользователей и 1 Гость смотрят эту тему.
dr.Faust
Администратор
**
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 340


« Стартовое сообщение: 29 Май 2010, 20:58 »

... и получить в нём её текст.
Как?
« Последнее редактирование: 6 Июнь 2010, 10:11 от Syzygy » Записан

Свобода информации - свобода личности!
Рыбка Рио
Форумчанин
***
Offline Offline

Сообщений: 1 678


« Ответ #1: 29 Май 2010, 21:42 »

Макрос по клику на ссылке в тексте? или диалоге?
Записан

ubuntu 12.04 + LibO3.6.0
dr.Faust
Администратор
**
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 340


« Ответ #2: 29 Май 2010, 21:47 »

В документе конечно.
В odt.
Записан

Свобода информации - свобода личности!
macros
Участник
**
Offline Offline

Сообщений: 16


« Ответ #3: 29 Май 2010, 23:51 »

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


[вложение удалено Администратором]
« Последнее редактирование: 29 Май 2010, 23:52 от macros » Записан
dr.Faust
Администратор
**
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 340


« Ответ #4: 30 Май 2010, 00:59 »

... и получить в нём её текст.
Записан

Свобода информации - свобода личности!
Рыбка Рио
Форумчанин
***
Offline Offline

Сообщений: 1 678


« Ответ #5: 30 Май 2010, 02:48 »

Можно так?
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
Рыбка Рио
Форумчанин
***
Offline Offline

Сообщений: 1 678


« Ответ #6: 30 Май 2010, 03:00 »

В предыдущем примере получается бесконечный цикл, если ссылка находится в самом начале или конце документа. Может так тогда?
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
Участник
**
Offline Offline

Сообщений: 16


« Ответ #7: 30 Май 2010, 10:11 »

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

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




[вложение удалено Администратором]
« Последнее редактирование: 30 Май 2010, 10:19 от macros » Записан
Рыбка Рио
Форумчанин
***
Offline Offline

Сообщений: 1 678


« Ответ #8: 30 Май 2010, 10:21 »

Вот так?

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


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

ubuntu 12.04 + LibO3.6.0
macros
Участник
**
Offline Offline

Сообщений: 16


« Ответ #9: 30 Май 2010, 10:30 »

Да, именно так, спасибо.
Записан
dr.Faust
Администратор
**
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 340


« Ответ #10: 30 Май 2010, 10:55 »

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

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

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

Свобода информации - свобода личности!
Рыбка Рио
Форумчанин
***
Offline Offline

Сообщений: 1 678


« Ответ #11: 30 Май 2010, 11:03 »

Да, текст именно той ссылки, на которую кликнули.
Записан

ubuntu 12.04 + LibO3.6.0
macros
Участник
**
Offline Offline

Сообщений: 16


« Ответ #12: 30 Май 2010, 11:13 »

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

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

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

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

Можно посмотреть Ваш файл примера, где решение от Трио не работает?
« Последнее редактирование: 30 Май 2010, 11:14 от macros » Записан
dr.Faust
Администратор
**
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 340


« Ответ #13: 30 Май 2010, 12:37 »

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

Свобода информации - свобода личности!
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!