2017-09-15 121 views
0

我正在開發word的加載項。我試圖用文本替換書籤。(我最初的目標是在書籤中插入文本,但有一個錯誤的API中所以這是另一種方法。Earlier question link使用office.js不能替換Word文檔中的書籤

這裏是我的代碼 -

Word.run(函數(上下文){

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); 

但它拋出exception.The錯誤跟蹤消息是 - 「GeneralException:GeneralException在An onymous函數(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

你可以使用發佈的api版本嗎? –

回答

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) 
+0

是的。它不給null對象。我測試了你的代碼,但沒有運氣。但它給出了同樣的例外。 – reza

相關問題