Получить имя добавленной таблицы - PullRequest
0 голосов
/ 25 мая 2018

У меня проблема с получением имени таблицы, которую я создал.

Вот мой упрощенный код:

var mytable = mysheet.tables.add(mysheet.getUsedRange(), true);

...

mytable.load('name');

return context.sync()
    .then(function () {

            mytable.name;

    });

Я не хочу называть таблицу именем(поскольку он может уже существовать в книге), поэтому я позволил Excel дать ему имя.

Но после синхронизации я всегда получаю сообщение об ошибке: «Uncaught (in обещание) Ошибка: невозможно прочитать свойство 'name'».... пожалуйста, вызовите "context.sync ()" ... (извините, я получаю только немецкое сообщение об ошибке - это переведенный текст).

Интересный аспект: эта ошибка возникает только всовершенно новые рабочие книги (Excel онлайн). Если я использую рабочую книгу, я уже создал таблицу, используя описанный выше способ, она прекрасно работает без каких-либо ошибок.

Что я делаю не так? Нужно ли загружать что-то отличное от "имя "

1 Ответ

0 голосов

Я попытался использовать следующий код, и он отлично работал как на настольном компьютере, так и в Office Online:

Excel.run(function (context) {
    let sheet = context.workbook.worksheets.getActiveWorksheet();
    var mytable = sheet.tables.add(sheet.getUsedRange(), true);

    mytable.load('name');

    return context.sync()
        .then(function () {
            console.log(mytable.name);
        });
});

Если у вас все еще есть проблемы, не могли бы вы опубликовать свой полный код - в идеале вформа фрагмента Script Lab ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...