Скопировать диапазон ячеек вместе с форматированием [РЕШЕНО]

Автор vasyun, 15 августа 2014, 02:41

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

luu

Цитата: mikekaganski от 13 марта 2024, 12:04
Цитата: luu от 13 марта 2024, 12:01Может быть есть какой-то параметр .copyRange

Открываете документацию API, вводите в поиске copyRange, и открываете соответствующую ссылку.
Это я видел, у Питоньяка достаточно подробно было описано. Но здесь как раз нет никаких дополнительных параметров для копирования, поэтому и спросил, может быть неправильно ищу и где-то подобная информация есть.
Спасибо за ответ

sokol92

Подведем итоги.
Вариантов для копирования диапазонов не много.

Копируем диапазон, включая значения, формулы, форматирование, объекты:
1. В пределах одного документа  - метод copyRange.
2. В другой документ - через методы getTransferable и insertTransferable. Быстрый метод, не изменяет буфер обмена.

Копируем только значения диапазона:
Используем методы getDataArray и setDataArray. При этом нужно учесть, что в результирующем диапазоне вместо формул будут их значения (из исходного диапазона).

Копируем выборочно свойства диапазона (одно или несколько): текст, число, дата (время), формулы, комментарии, форматы, объекты.
Методов UNO пока нет, поэтому с помощью .uno:Copy копируем исходный диапазон в буфер обмена, а затем с помощью параметров команды .uno:InsertContents копируем в целевой диапазон. Примеров на форумах много.
Владимир.