Не работает копирование блока в Calc

Автор Massaraksh7, 11 ноября 2024, 00:57

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

Massaraksh7

Очень любопытная ситуация - есть 2 ods-файла, оба практически одинаковые, в обоих встроенный макрос, копирующий блок. Макросы абсолютно одинаковые. Но в одном копирование проходит, а в другом - нет. Почему, интересно?
Вызывать Main()

mikekaganski

С уважением,
Михаил Каганский

sokol92

Цитата: mikekaganski от 11 ноября 2024, 07:33Потому что J17:J18 и J19:J20.
Переводу ответ Михаила для менее подготовленных читателей.  :)

В неработающем примере методом copyRange копируется диапазон A1:J12 в дипазон, который начинается с ячейки A13 (таким образом результатом будет диапазон A13:J24).
Копирование не отрабатывает, так как целевой диапазон содержит объединенные ячейки J17:J18 и J19:J20. Если их разъединить, то копирование выполняется успешно.

Думаю, о таком "недостойном" поведении CopyRange следует сообщить в Багзиллу.
"Обычное" интерактивное копирование (через буфер обмена) завершается в исходном примере успешно.
Владимир.

Massaraksh7

Действительно. А я и не заметил. Хотя, да, странно.

mikekaganski

Эта проверка там явная. Это не значит, что баг писать не надо - функция, которая отрабатывает здесь, используется в разных местах, и не очевидно, что именно в copyRange она должна так молча отказываться работать. Я бы ожидал исключение с сообщением, как минимум.
С уважением,
Михаил Каганский

sokol92

Владимир.

sokol92

Владимир.