我尝试在内容控件中插入一个表格。下面是我的代码:
function insertTable() {
Word.run(function (context) {
var range = context.document.getSelection();
var cc = range.insertContentControl();
cc.title = "My Table";
var values = [["Apple", "red", "round"], ["Banana", "yellow", "long"], ["Pear", "green", "oblong"]];
context.load(cc);
return context.sync().then(function () {
var table = cc.insertTable(3, 3, 'Start', values);
})
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
.then(context.sync);
})
.catch(function (error) {
console.log('Error: ' + JSON.stringify(error));
if (error instanceof OfficeExtension.Error) {
console.log('Debug info: ' + JSON.stringify(error.debugInfo));
}
});
}
但我得到了这个错误。
Error: {"name":"OfficeExtension.Error","code":"InvalidArgument","message":"InvalidArgument","traceMessages":[],"innerError":null,"debugInfo":{"code":"InvalidArgument","message":"InvalidArgument","errorLocation":""},"stack":"InvalidArgument: InvalidArgument\n at Anonymous function (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:211625)\n at yi (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:249536)\n at st (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:249623)\n at d (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:249443)\n at c (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:248029)"}
我用的是测试版的API:
<script src="https://appsforoffice.microsoft.com/lib/beta/hosted/office.js" type="text/javascript"></script>
因为在API版本1.1中没有insertTable
方法,你知道它为什么不工作吗?我在文档中看到这个方法在api版本1.3中可用,他们发布了吗?
谢谢
2条答案
按热度按时间lx0bsm1f1#
我也遇到了同样的问题。原来你不能在一个段落中间插入一个表格(或者在一个包含其他内容的段落中)。当你第一次添加一个段落,并在这个段落中插入表格时,你会得到想要的效果。请看下面的代码。
所有配额属于Cindy Meister
hyrbngr72#
我来这里是因为我也犯了同样的错误。
然而,在我的例子中,这是因为我为insertTable方法提供了一个小于values参数的列值。
也就是说,我的值有三列,我在insertTable中指定了2。
希望这对以后的人有帮助。