Гиперссылка

Автор Ingwar, 6 сентября 2024, 23:34

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

Ingwar

Добрый вечер!
Подскажите пожалуйста как запустить гиперссылку макросом.
В Calc в одном столбце формируются ссылки для отправки сообщений в WhatsApp,
В каждой ячейке свой текст и и номер для отправки сообщения, если из ячейки
Скопировать текст и вставить в строку браузера, открывается Страница WhatsApp
с набранным текстом сообщения. Подскажите пожалуйста, как это можно запустить
макросом?

sokol92

#1
Уточните, пожалуйста, вопрос.
Обычно вставка гиперссылок производится так.
Можно также использовать функцию Calc HYPERLINK.

Следующий макрос запускает любую гиперссылку в URI-формате.
' --------------------------------------------------------------------------------------------------------------------------------------
' lang:en
' Processing (opening) a hyperlink.
' - Url Uri of the hyperlink.
' - oDoc document. If not specified, ThisComponent is set.
' lang:ru
' Обработка (открытие) гиперссылки.
' - Url Url гиперссылки.
' - oDoc документ. Если не задан, то выбирается ThisComponent.
Sub Hyperlink_Open(ByVal Url As String, Optional ByVal oDoc)
  Dim args1(0) as new com.sun.star.beans.PropertyValue
  If IsMissing(oDoc) Then oDoc=ThisComponent
  args1(0).Name = "URL" : args1(0).Value=Url
  createUnoService("com.sun.star.frame.DispatchHelper").executeDispatch(oDoc.CurrentController.Frame, ".uno:OpenHyperlink", "", 0, args1)
End Sub
Владимир.

Ingwar


Ingwar

В ячейке просто текст примерно следующего содержания:
https://api.whatsapp.com/send?phone=79999999999text=Уважаемый Вячеслав Николаевич! Прошу в течение двух рабочих ... Администрация. Безусловно в формате String.
Это строка формируется из многих кусочков.
А макрос не запустился, пишет аргумент является обязательным и выделяет
args1(0).Value=Url

Ingwar

Большое спасибо Владимир!
Все получилось, пришлось чуть переработать,
Вышло так:

Sub Ssylka

Dim args1(0) as new com.sun.star.beans.PropertyValue
Doc=ThisComponent
Cell = ThisComponent.Sheets(0).getCellByPosition(5, 6)
WhAap = Cell.getString()
args1(0).Name = "URL" : args1(0).Value=WhAap
createUnoService("com.sun.star.frame.DispatchHelper").executeDispatch(Doc.CurrentController.Frame, ".uno:OpenHyperlink", "", 0, args1)

End Sub