Перебор таблиц в 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?

Другие вопросы по тегам