Я пытаюсь вставить таблицу в свой документ Word, но каждый раз получаюInvalidArgument
исключение в моей консоли.
Вот мой код:
Word.run(function (context) {
var selectionRange = context.document.getSelection();
var paragraph = selectionRange.insertParagraph("", Word.InsertLocation.before);
return context.sync()
.then(function () {
var table = paragraph.insertTable(3, 4, Word.InsertLocation.before, [
["Column1", "Column2", "Column3", "Column4"],
["test1", "test2", "test3", "test4"],
["test5", "test6", "test7", "test8"]
]);
table.styleBuiltIn = Word.Style.gridTable1Light;
})
.then(context.sync)
.catch(function (error) {
console.log(error);
});
})
.catch(function (error) {
console.log('Error: ' + JSON.stringify(error));
if (error instanceof OfficeExtension.Error) {
console.log('Debug info: ' + JSON.stringify(error.debugInfo));
}
});
Я что-то делаю не так?
Я обнаружил проблему. insertTable поддерживается только в Word API версии 1.3, который поддерживается в Office 2019. Я работаю с Office 2016, который работает только с 1.1.
Ссылка на документы microsoft: https://docs.microsoft.com/de-de/office/dev/add-ins/reference/requirement-sets/word-api-requirement-sets
Попробуйте изменить
var paragraph = selectionRange.insertParagraph("", Word.InsertLocation.before);
var table = paragraph.insertTable(3, 4, Word.InsertLocation.before, [
["Column1", "Column2", "Column3", "Column4"],
["test1", "test2", "test3", "test4"],
["test5", "test6", "test7", "test8"]
]);
с участием
var paragraph = selectionRange.insertParagraph("", "Before");
var table = paragraph.insertTable(3, 4, "Before", [
["Column1", "Column2", "Column3", "Column4"],
["test1", "test2", "test3", "test4"],
["test5", "test6", "test7", "test8"]
]);