Я немного подкорректировал пример.
В ячейку записал такой текст: a1 a1 a2 a3
На первые 2 символа и на текст a2 повесил гиперссылки
Выделил эту ячейку
Подкорректировал код #4
Sub FindHyperLinkInCell
Dim oCell, oText, oParEnum, oParElement
Dim oEnum, oElement
oCell = ThisComponent.getCurrentSelection()
oParEnum = oCell.getText().createEnumeration()
Do While oParEnum.hasMoreElements ()
oParElement = oParEnum.nextElement()
oEnum = oParElement.createEnumeration()
Do While oEnum.hasMoreElements ()
oElement = oEnum.nextElement()
If oElement.TextPortionType = "TextField" Then
If oElement.TextField.supportsService("com.sun.star.text.TextField.URL") Then
Print "Текст гиперссылки: " & oElement.TextField.Representation
End If
ElseIf oElement.TextPortionType = "Text" Then
Print "Текст: " & oElement.Text.String
End If
Loop
Loop
End Sub
И получил такие результаты:
Текст гиперссылки: a1
Текст: a1 a1 a2 a3
Текст гиперссылки: a2
Текст: a1 a1 a2 a3
Текст: a1 a1 a2 a3
Кто-нибудь может объяснить мне, почему результаты такие?