Невозможно удалить вложенные элементы управления содержимым в Word с Office JS - PullRequest
0 голосов
/ 16 мая 2018

Я пишу надстройку Word с использованием Office JS. Я создал документ Word, который имеет следующую структуру:

<OuterContentControl tag="Outer" cannotDelete>
    <InnerContentControl tag="Inner" cannotDelete />
</OuterContentControl>

Я пытаюсь удалить внутренний элемент управления содержимым с помощью кода, подобного следующему:

async function delete() {

    await Word.run(async (context) => {
        const contentControls = context.document.contentControls.getByTag('Inner').load();
        await context.sync();

        contentControls.items.forEach(contentControl => {
            contentControl.cannotDelete = false;
            contentControl.cannotEdit = false;
            contentControl.delete(false);
        });

        await context.sync();
    });
}

Когда .delete вызывается против внутреннего контроля контента, я получаю GeneralException, но для внешнего контроля контента это работает. Нужно ли что-то делать по-другому, чтобы разрешить удаление? Я позволил удалить внешнюю, но это ничего не меняет.

Редактировать: После попытки предложений Рика пройти через свойство contentControls "внешнего" элемента управления содержимым, я могу удалить некоторые из них. Те, которые могут и не могут быть удалены, генерируются одинаково. Я все еще получаю бесполезный GeneralException на вызов ContentControl.delete. Я также пытался позвонить .getRange(Word.RangeLocation.whole).delete() и получить тот же GeneralException. Похоже, что последний элемент управления содержимым, который является вложенным, - это тот, который не работает.

Основная причина Я блокирую свою внешнюю от удаления. Так что, если я разблокирую его от удаления, вызов delete для внутреннего устройства работает, но также удаляет внешний элемент управления содержимым. Похоже, ошибка в Word. Есть ли обходные пути?

1 Ответ

0 голосов
/ 17 мая 2018

Это не воспроизводится в последних сборках. Вы можете быстро обновиться до 16.0.10211.20004.

...