Добрый день. При сохранении файла из xlsx в ods, все внешни?...

Автор ForumOOo (бот), 12 ноября 2020, 11:50

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

ForumOOo (бот)

Компонент: Calc
Версия продукта: 5.x
Сборка: ID сборки: 60bfb1526849283ce2491346ed2aa51c465abfe6
ОС: Windows 10

Добрый день. При сохранении файла из xlsx в ods, все внешние ссылки в тексте (ссылка перехода на сайт) не стали
активными. Но когда ты проваливаешься в строку и после ссылки ставишь пробел, то она активная. Вопрос: Существует ли
другой способ сделать ссылки активными, помимо которого я описал, т.к. у меня таких 3000+ строк.

--
Подпись: CatPaws

kompilainenn

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

CatPaws

Версия: 6.0.1.1
ID сборки: 60bfb1526849283ce2491346ed2aa51c465abfe6
Потоков ЦП: 4; ОС:Windows 10.0; Отрисовка ИП: по умолчанию;
Локаль: ru-RU (ru_RU); Calc: CL

economist

Цитата: ForumOOo (бот) от 12 ноября 2020, 11:50Существует ли
другой способ сделать ссылки активными, помимо которого я описал, т.к. у меня таких 3000+ строк.

В пустом столбце написать =ГИПЕРССЫЛКА([адресдохлойсслыки];[адресдохлойсслыки]) и протянуть вниз.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

bigor

#4
Как вариант
=HYPERLINK(REGEX(B2;"(http).*");SUBSTITUTE(B2;REGEX(B2;"(http).*");""))
ну или вторым параметром тоже ссылку прописать

зы не помню в какой версии REGEX появился. Возможно придется обновляться

Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

CatPaws

Цитата: economist от 12 ноября 2020, 12:46
Цитата: ForumOOo (бот) от 12 ноября 2020, 11:50Существует ли
другой способ сделать ссылки активными, помимо которого я описал, т.к. у меня таких 3000+ строк.

В пустом столбце написать =ГИПЕРССЫЛКА([адресдохлойсслыки];[адресдохлойсслыки]) и протянуть вниз.

Выходит Ошибка 507 и 520. Если у меня таких 3000 разных адресов, мне всех их прописывать в формуле? Может есть макрос, который может выполнит действие что я описал изначально?

bigor

Мой вариант пробовали? Прописываете один раз и протягивание вниз. Или дважды щёлканье на левом нижнем углу.
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

CatPaws

Цитата: Bigor от 12 ноября 2020, 13:59
Мой вариант пробовали? Прописываете один раз и протягивание вниз. Или дважды щёлканье на левом нижнем углу.

Не распознают такую функцию в строке "#ИМЯ?" Это значит обновить надо ЛибрОфис?

bigor

Да, или переписать формулу без regex. Но до компа только вечером доберусь
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

kompilainenn

Цитата: CatPaws от 12 ноября 2020, 12:13
Версия: 6.0.1.1
ID сборки: 60bfb1526849283ce2491346ed2aa51c465abfe6
Потоков ЦП: 4; ОС:Windows 10.0; Отрисовка ИП: по умолчанию;
Локаль: ru-RU (ru_RU); Calc: CL
Подождите, вопрос стоял, что присохранении из хлсх теряются ссылки. Можно сам хлсх исходный увидеть?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

CatPaws

К сожалению исходный файл прислать не могу. Но файл что я прислал, точно описывает суть проблемы.

sokol92

Нужен именно исходный файл Excel. Оставьте в нем пару ссылок и опишите действия, приводящие к проблеме.
Прилагаю файл Excel со ссылкой на данную тему. Если его открыть в Excel и сохранить как Электронную таблицу ODF, то с гиперссылкой все в порядке.
Владимир.

CatPaws

Изначально не было гиперссылки по всему тексту. Нужно чтобы кликабельна была только ссылка, а не весь текст. Технически такое невозможно сделать в Excel. Поэтому я сохранил файл в формате odf, предполагая что все ссылки будут активными.

kompilainenn

Цитата: CatPaws от 12 ноября 2020, 14:32
К сожалению исходный файл прислать не могу. Но файл что я прислал, точно описывает суть проблемы.
я к чему это спрашиваю, это может быть ошибкой, о которой надо сообщить разработчикам, или это может быть уже исправлено в последних версиях ЛО. Вы используете достаточно древнюю версию
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

sokol92

#14
Можно выделить ячейки, в которые нужно занести гиперссылки, и выполнить макрос SelectionInsertHyperlink

Option Explicit
Sub SelectionInsertHyperlink
 Dim oCell
 For Each oCell In ThisComponent.CurrentSelection.queryVisibleCells.getCells
   CellInsertHyperLink oCell, ThisComponent
 Next oCell  
End Sub

Sub CellInsertHyperLink(oCell, oDoc)
 Dim oField, s As String, i As Long
 oField = oDoc.createInstance("com.sun.star.text.TextField.URL")
 s=oCell.getString
 i=Instr(1, s, "http")
 If i>0 Then
   oCell.setString Left(s, i-1)
   oField.Url=mid(s, i)
   oField.Representation=oField.Url
   oCell.Text.insertTextContent(oCell.Text.createTextCursor, oField, false)
 End If  
End Sub
Владимир.