Как обнаружить объединенные ячейки в диапазоне от надстройки Excel Javascript? - PullRequest
0 голосов
/ 17 апреля 2020

В API Excel Javascript я вижу методы в классе диапазона для объединения и объединения ячеек, но не вижу свойств, которые указывают, объединяется ли ячейка и сколько строк и столбцов она охватывает. Если нет явного API для чтения этого, знает ли кто-нибудь об обходном пути - например. обнаружение состояния слияния косвенно или получение базового диапазона xml и его анализ?

Ответы [ 2 ]

0 голосов
/ 17 апреля 2020

Извините, в настоящее время у нас нет API (в VBA соответствующий API равен Range.MergeCells) для проверки состояния объединенных ячеек. вы можете попробовать обходной путь Ginger Jiang (из нашей команды), если вы знаете исходный диапазон адресов до слияния.

Если ваш сценарий все еще не может быть разблокирован, я бы предложил отправить ваш запрос на UserVoice https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback?category_id=163563 и upvote для этой функции, мы добавим ее в наше отставание.

PS. было бы здорово, если бы вы могли поделиться с нами своим сценарием. Поэтому мы могли видеть, как мы можем разблокировать ваш сценарий с помощью существующих API.

Спасибо

0 голосов
/ 17 апреля 2020

Вот пример обхода, чтобы выбрать диапазон и объединить диапазон, а затем проверить, является ли это диапазон объединения или нет:

    //get selected range and did merge
var range = context.workbook.getSelectedRange();
range.merge();
await context.sync();

    // check whether the range is merged or not 
range.load();
await context.sync();
console.log(range["cellCount"]);

const str = range.address;
const colCount = range.columnCount;
const rowCount = range.rowCount;
console.log(colCount);
console.log(rowCount);
if (str) {
  const arr = str.split("!");
  console.log(arr[1]);
  if ((range["cellCount"] > 1 || range["colCount"] > 1 || range["rowCount"] > 1) && arr[1].indexOf(":") == -1) {
    console.log("true");
  } else {
    console.log("false");
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...