Перебор таблиц в Excel Mac с использованием Office JS не работает
Я пытаюсь перебрать таблицы в Excel, используя офис JS
Вот пример кода (такой же, как в документации здесь https://github.com/OfficeDev/office-js-docs/blob/master/reference/excel/tablecollection.md):
Excel.run(function (ctx) {
var tables = ctx.workbook.tables;
tables.load('items');
return ctx.sync().then(function() {
console.log("tables Count: " + tables.count);
for (var i = 0; i < tables.items.length; i++)
{
console.log(tables.items[i].name);
}
});
}).catch(function(error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
Получить количество столов.
Excel.run(function (ctx) {
var tables = ctx.workbook.tables;
tables.load('count');
return ctx.sync().then(function() {
console.log(tables.count);
});
}).catch(function(error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
Код работает правильно в Windows Excel 2016, но в Mac Excel 2016 оба примера кода выдают ошибку типа: "Общее исключение" и расположение ошибки: "TableCollection.count"
1 ответ
Мы попытались воспроизвести проблему, но не получили "Общее исключение". Мы получаем ошибку в первом примере "PropertyNotLoaded", хотя это понятно в том смысле, что образец немного некорректен, оператор загрузки должен быть tables.load('name, count')
вместо tables.load('items')
, Но это все еще не объясняет ошибку. И вторые образцы должны работать просто отлично.
Вы запускаете это в существующем документе? Есть ли что-то особенное в этом документе? Если вы запустили этот код для совершенно нового документа с парой таблиц, сработает ли тогда? Кроме того, какой номер версии является вашей версией Office для Mac?