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

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

26 Октябрь 2020, 06:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: [Решено] ГИПЕРССЫЛКА на ЯЧЕЙКУ: неполный перевод значений аргумента  (Прочитано 1587 раз)
0 Пользователей и 1 Гость смотрят эту тему.
eeigor
Ubuntu 18.04 LTS
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 111


« Стартовое сообщение: 26 Май 2020, 14:17 »

При импорте файла Excel 2016 появляется ошибка локализации в формуле ЯЧЕЙКА(): пришлось вручную поменять тип информации в первом аргументе функции ЯЧЕЙКА() с  "адрес" на "ADDRESS" - и всё заработало.

Excel 2016:  =ГИПЕРССЫЛКА("#"& ЯЧЕЙКА("адрес";$C$85);"Текст, отображаемый в ячейке")  ' зд. адрес значения не имеет
LO Calc 6.4:  =ГИПЕРССЫЛКА("#"& ЯЧЕЙКА("ADDRESS";$C$85);"Текст, отображаемый в ячейке")  '

Возможно, функция ЯЧЕЙКА() при одиночном использовании такой ошибки не имеет (не проверял), но в указанной комбинации - гиперссылка на ячейку листа - ошибка имеет место быть.

« Последнее редактирование: 26 Май 2020, 16:56 от eeigor » Записан
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 043


« Ответ #1: 26 Май 2020, 14:21 »

Неужели Excel настолько ... (censored), что переводит даже текстовые аргументы функции CELL??? Это у них шутка такая? А как он тогда между своими локализованными вариантами это переносит? Шокирован

Прикрепите, пожалуйста, лист из русского Excel с такой формулой.
« Последнее редактирование: 26 Май 2020, 14:23 от mikekaganski » Записан

С уважением,
Михаил Каганский
eeigor
Ubuntu 18.04 LTS
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 111


« Ответ #2: 26 Май 2020, 14:26 »

Переводит (значения аргумента на язык локали):
https://support.office.com/ru-ru/article/%D1%8F%D1%87%D0%B5%D0%B9%D0%BA%D0%B0-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-%D1%8F%D1%87%D0%B5%D0%B9%D0%BA%D0%B0-51bd39a5-f338-4dbe-a33f-955d67c2b2cf
...и проблем, вроде, не было.
Но в коде VBA всё строго по-английски (никакого русского, если это только не что-то "Local").

А пример прилагается.

Обновлено: при переносе между версиями значения НЕ ПЕРЕВОДЯТСЯ.

* Пример с гиперссылкой на ячейку.xlsx (5.92 Кб - загружено 3 раз.)
« Последнее редактирование: 26 Май 2020, 16:34 от eeigor » Записан
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 043


« Ответ #3: 26 Май 2020, 14:54 »

А пример прилагается.

Гы! Вот вам и Excel... Скриншот из англоязычного Excel 2016.


* EnglishExcel.png (45.08 Кб, 1061x450 - просмотрено 13 раз.)
Записан

С уважением,
Михаил Каганский
eeigor
Ubuntu 18.04 LTS
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 111


« Ответ #4: 26 Май 2020, 14:58 »

То бишь не работает? У меня нет англоязычного...
Записан
eeigor
Ubuntu 18.04 LTS
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 111


« Ответ #5: 26 Май 2020, 15:02 »

Ну, тогда не знаю, что и как тут должно быть. Но дело в другом: ошибка импорта файла из локализованного Excel, применительно для функции ЯЧЕЙКА(), существует. И это факт!
Записан
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 043


« Ответ #6: 26 Май 2020, 15:19 »

Ну, тогда не знаю, что и как тут должно быть. Но дело в другом: ошибка импорта файла из локализованного Excel, применительно для функции ЯЧЕЙКА(), существует. И это факт!

Факт. Но поскольку Excel сам не умеет с этим справляться, то это баг не в ЛО, а в Excel. И это не "ошибка импорта", а "ошибка сохранения" или "ошибка локализации" Excel (они могли бы переводить в нейтральный формат при сохранении, или вообще не переводить этот аргумент).
Записан

С уважением,
Михаил Каганский
eeigor
Ubuntu 18.04 LTS
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 111


« Ответ #7: 26 Май 2020, 15:21 »

Согласен. Однако об этом нужно просто знать. Я столкнулся впервые, и прошлось чинить методом тыка. Правда сразу и получилось.
Записан
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 043


« Ответ #8: 26 Май 2020, 15:37 »

Для полноты картины: здесь пишут, что Excel позволяет использовать английское значение для аргумента в т.ч. в локализованных версиях. Так что совет для пользователей Excel - по возможности так и делать, для своей же пользы Улыбка
Записан

С уважением,
Михаил Каганский
eeigor
Ubuntu 18.04 LTS
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 111


« Ответ #9: 26 Май 2020, 16:01 »

Маленький оффтоп...

Мы говорили зд. о гиперссылках на ячейку, и я испытал Calc-функцию ГИПЕРССЫЛКА на возможность ссылки на процедуру модуля проекта VBA.
Calc с этой задачей (по импорту) тоже не справился.

Это не в качестве критики, а с тем, чтобы довести до интересующихся о некоторой малоизвестной и плохо документированной (?) возможности Excel, позволяющей перейти по гиперссылке в тело модуля. Просто очень полезная реализация!
Если это можно предложить (где-то), то было бы неплохо.
Помогает при организации учебных курсов и пр.

Примечание. Файл Excel с расширением xlsm не прошёл, и я заменил расширение на zip. А как иначе? Поменяйте разрешение обратно.

* Пример с гиперссылкой на ячейку.zip (7.9 Кб - загружено 4 раз.)
Записан
eeigor
Ubuntu 18.04 LTS
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 111


« Ответ #10: 26 Май 2020, 16:13 »

Excel позволяет использовать английское значение для аргумента в т.ч. в локализованных версиях
Да, работает (у меня). Хотя, mike, прошёл по Вашей ссылке, и там вопрос свежий, но не выглядит решенным... Сколько использовал, но об этом не знал. Мне, по большому счету, всё равно, на каком языке... Вот зд. при импорте в LO Calc это стало принципиальным моментом. Короче, вопрос разъяснен.
« Последнее редактирование: 26 Май 2020, 16:29 от eeigor » Записан
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 043


« Ответ #11: 26 Май 2020, 16:44 »

Calc с этой задачей (по импорту) тоже не справился.

Разве? По-моему, он вполне корректно импортировал ссылку (которая была относительной ссылкой, содержащей только часть URI "фрагмент"). Импортированная формула абсолютно точно соответствует тому, что было в Excel - =HYPERLINK("#Module1.Main";"Ссылка на Module1.Main()"). Так же как и в предыдущем примере с CELL, импорт в Calc правильный.

А вот интерпретация фрагмента в URI - это вещь зависящая от реализации. Скажем, при открытии ссылки на PDF с фрагментом результат очень зависит от открывающего приложения.

И здесь Excel опять же учудил. Возьмём этот конкретный случай. Если в книге нет именованного диапазона с таким именем, то "#Module1.Main" ведёт на имеющуюся функцию в модуле ... но стоит только задать какому-то диапазону это имя, и гиперссылка будет вести туда. Что я могу сказать? Пользуясь нестандартными функциями, надо быть готовым к неожиданностям. Но ...

довести до интересующихся о некоторой малоизвестной и плохо документированной (?) возможности Excel, позволяющей перейти по гиперссылке в тело модуля

интересующихся? довести? здесь? Напишите баг. Возможно, и будет когда-нибудь реализовано (типа "а если поиск диапазонов не дал такого имени, заодно глянуть внутренние модули StarBasic, Python, Java, VBA, ...").
« Последнее редактирование: 26 Май 2020, 16:48 от mikekaganski » Записан

С уважением,
Михаил Каганский
sokol92
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 193


WWW
« Ответ #12: 26 Май 2020, 16:48 »

Добрый день! В книгах Excel текстовые литералы в формулах, естественно, не меняются при локализации. Основная головная боль - функция TEXT (ТЕКСТ). Если нужно, чтобы приложение работало при различных кодовых страницах Windows, то от этой функции (по крайней мере, в части дат) нужно отказаться.
Записан

Владимир.
eeigor
Ubuntu 18.04 LTS
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 111


« Ответ #13: 26 Май 2020, 16:53 »

Я полагал (но так не проверял), что Excel "ориентируется" на точечный синтаксис "Модуль.Процедура"...
Но это был оффтоп.
Я, т. к. приходится работать с файлом и в Excel, и в LO Calc, просто заменил "адрес" на "ADDRESS". И проблема исчезла.
Всем спасибо.
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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