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

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

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

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

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



« Стартовое сообщение: 14 Август 2021, 16:28 »

Добрый день! Разместил тему на ask.libreoffice.org.
Если кому интересно, посмотрите, подскажите...

Проблема сброса атрибутов и выделения всего текста при использовании формулы (UDF) на одном листе. Это похоже на баг.
Прилагаемый пример специально разработан для решаемой задачи и представлен в упрощенном виде.

* bug-highlight-substrings.ods (19.6 Кб - загружено 8 раз.)
Записан

Ubuntu 18.04 LTS • LO 7.2.2.2 Community
kompilainenn
Мастер
*****
Online Online

Сообщений: 3 370



« Ответ #1: 14 Август 2021, 18:03 »

Это похоже на баг.
и зачем это тянуть на Ask тогда?
Записан

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

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



« Ответ #2: 14 Август 2021, 18:11 »

@kompilainenn, мне нужно срочно найти решение, и я расширил круг участников (Cross posting). Ведь есть свой контингент завсегдатаев на каждом форуме. И ответы поступили быстро.
А в том, что это баг, я не уверен.
Но всё идёт к тому, что от изменений данных на листе из UDF надо в принципе отказаться, "довольствуясь", так сказать, только возвращаемым значением в ячейку. Если так, то мне придётся кое-что переделать у себя... Все так считают (вердикт окончательный)?
« Последнее редактирование: 14 Август 2021, 18:21 от eeigor » Записан

Ubuntu 18.04 LTS • LO 7.2.2.2 Community
eeigor
Форумчанин
***
Offline Offline

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



« Ответ #3: 14 Август 2021, 18:32 »

@mikekaganski, с диалогом по вашей ссылке и "плохой идеей" я ознакомился. Спасибо.
Записан

Ubuntu 18.04 LTS • LO 7.2.2.2 Community
sokol92
Форумчанин
***
Online Online

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


WWW
« Ответ #4: 14 Август 2021, 20:10 »

Для справки: ограничения UDF-функций в Excel описаны здесь.

Общие для Calc и Excel ограничения UDF-функций - ничего не менять в документе! Более тонкий момент связан с чтением значений ячеек, которые не передаются UDF-функции как параметры. Последовательность перерасчета формул нам неизвестна, наша функция может вызываться несколько раз, соответственно, есть риск, что при "прямой" выборке диапазона ячеек мы используем не актуальные для данного вызова пользовательской функции значения ячеек (об этом написано в указанной выше ссылке).
« Последнее редактирование: 14 Август 2021, 20:13 от sokol92 » Записан

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

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



« Ответ #5: 14 Август 2021, 20:17 »

@sokol92, спасибо за ссылку.

A user-defined function called by a formula in a worksheet cell cannot change the environment of Microsoft Excel. This means that such a function cannot do any of the following:
1. Insert, delete, or format cells on the spreadsheet.
2. Change another cell's value.
3. Move, rename, delete, or add sheets to a workbook.
4. Change any of the environment options, such as calculation mode or screen views.
5. Add names to a workbook.
6. Set properties or execute most methods.
Any environmental changes should be made through the use of a Visual Basic subroutine.


Ну, вот именно это я и делал (п. 1).  Улыбка
« Последнее редактирование: 14 Август 2021, 20:23 от eeigor » Записан

Ubuntu 18.04 LTS • LO 7.2.2.2 Community
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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