Я разрабатываю надстройку Word (Word API + Office. js), где я работаю с элементами управления содержимым, я пытаюсь прочитать содержимое таблицы внутри элемента управления содержимым, где мне нужно удалить пустые строки
Пример: у меня есть эта таблица внутри элемента управления контентом. Мне нужно удалить пустые строки
Я могу достичь этой функции с этим кодом, но если таблица содержит элемент управления содержимым, который является пустым, то, когда я пытаюсь удалить эту строку, сам плагин падает.
function checktable(element) {
Word.run(function (context) {
// Queue a command to get the current selection and then
// create a proxy range object with the results.
var contentControl = context.document.contentControls.getByTag('control1').getFirst();
var table = contentControl.tables.getFirst();
context.load(contentControl, 'tables');
table.load('values');
return context.sync()
.then(function () {
// Get the longest word from the selection.
if (contentControl.tables.items.length === 0) {
document.getElementById('lblstatus').innerText += "No Tables found";
}
else {
document.getElementById('lblstatus').innerText += " Tables found";
var Tablevaules = table.values;
for (var i = 0, len = Tablevaules.length; i < len; i++)
{
var nullcheck = "";
var inner=Tablevaules[i];
// inner loop applies to sub-arrays
for (var j = 0, len2 = inner.length; j < len2; j++) {
// accesses each element of each sub-array in turn
if (inner[j] == "") {
if (nullcheck != "False") {
nullcheck = "True";
}
}
else {
nullcheck = "False";
}
}
if (nullcheck == "True") {
table.deleteRows(i);
}
}
}
})
.then(context.sync)
.then(function () {
// Queue a command to highlight the search results.
document.getElementById('lblstatus').innerText += element + ":" + "Successs";
});
})
.catch(errorHandler);
}
Пожалуйста, дайте мне знать, что я что-то упустил или это известная ошибка !!