我正在为word开发一个加载项。我正在尝试用文本替换书签。(我的初始目标是在书签中插入文本,但API中存在错误,因此这是替代方法。 Earlier question link)
这是我的代码 -
Word.run(function(context){
var doc = context.document;
//get the bookmark range object by its name
var bookmarkRange=doc.getBookmarkRangeOrNullObject("cscasenumber01");
//insert a data and replace thee bookmark range
bookmarkRange.insertText("test data",Word.InsertLocation.replace);
// Synchronize the document state by executing the queued commands,
return context.sync();
}).catch(errorHandler);
但它抛出异常。错误跟踪消息是 - “GeneralException:Anonymous函数的GeneralException(https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:211625) 在ai(https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:248841) 在英尺(https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:248928) 在d(https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:248748) 在c(https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:247444)“
那么它是否有任何解决方案,或者它是API中的另一个错误?
注意:我使用的是office.js API的1.4 beta版。
答案 0 :(得分:1)
您需要测试bookmarkRange是否为空对象。请尝试以下代码:
var bookmarkRange=doc.getBookmarkRangeOrNullObject("cscasenumber01");
bookmarkRange.load();
return context.sync()
.then(function() {
if (bookmarkRange.isNullObject) {
// handle case of null object here
} else {
bookmarkRange.insertText("test data",Word.InsertLocation.replace);
}
})
.then(context.sync)