gpt4 book ai didi

javascript - Range.ParentTable 给出 itemNotFound 异常

转载 作者:行者123 更新时间:2023-11-29 19:06:09 25 4
gpt4 key购买 nike

我在word文档插入表格的过程中写了我的代码。我的代码之前运行成功,但是当我现在运行它时,它给出了一个异常:

"ItemNotFound: ItemNotFound\n   at Anonymous function (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:198669)\n   
at yi (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:220646)\n
at st (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:220733)\n
at d (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:220553)\n
at c (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:219139)"

错误位置显示为

"errorLocation":"Range.ParentTable"

我不知道为什么代码现在没有运行。我在一月份写了这段代码。如果有人可以,请帮我找出下面代码中的错误。

我的代码:

 this.insertTable = function () {
Word.run(function (context) {
var range = context.document.getSelection();
var tableDataJsonString;

if (range.parentTable != null) {
var parentTable = range.parentTable;
var parent_ContentController; //Content controller where the table has been inserted.
var parent_contentController_id;
var parent_contentController_tag;
var parent_name; //Section or Element name
var parent_id; //Section or Element's id
var table_style; //Table style
var count;
var header_rowCount;
var body_rowCount;
var columns;
var footer_rowCount;

parentTable.load('rowCount');
parentTable.load('headerRowCount');

return context.sync().then(function () {
if (parentTable.rowCount != null) {

}
}).then(function () {
existing_table.setTableProperties(parent_contentController_id, parent, parent_id, body_rowCount, columns, header_rowCount, footer_rowCount);

//tableDataJsonString = JSON.stringify(tableData);
context.sync();

if (count == null) {

_self.selectTableDlg(false, existing_table);
}
else if (count != 0) {
_self.selectTableDlg(true, existing_table);
}
}).catch(function (error) {
showAlert('Exception');
});
}
}).catch(function (error) {
console.log('Error: ' + JSON.stringify(error));
if (error instanceof OfficeExtension.Error) {
console.log('Debug info: ' + JSON.stringify(error.debugInfo));
}
});
}

代码未通过“return context.sync().then(function () {”并返回异常。

最佳答案

首先,如果代码是在 1 月份写回的,它使用的是 PREVIEW API,可能会发生变化,对此我们深表歉意,并感谢您尝试使用它们!在这种情况下,我们对 NULL 的工作方式进行了微小的更改,错误是如何检查表是否存在。如此有效,您需要进行一些更改才能使您的代码正常工作。顺便说一句,还有更多细节 on this answer谁在概念上与这个问题是同一个问题。

下面是一些代码,说明您需要如何检查所选内容是否在表内,以及我们通常如何处理可能返回 null 的属性和方法。

只需相应地调整您的代码,它就会起作用。

Word.run(function (context) {
//you can get parteTable (will rise an exception if null) or parentTableOrNullObject (never throws an exception and lets you check if its null or not using isNullObject property)
var myTable = context.document.getSelection().parentTableOrNullObject;
context.load(myTable);
return context.sync()
.then(function () {
if (myTable.isNullObject)
console.log("the selecion is NOT in a table");
else
console.log("the selection is within a table");
})
})

关于javascript - Range.ParentTable 给出 itemNotFound 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42671227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com