我已經開發了一個詞加載項,使用javascript javascript api。我的文檔.docx文件位於服務器上,我需要將該.docx文檔作爲一個新的Word文檔打開,然後單擊加載項。如何在word加載項中打開新的Word docx文檔
請指導我如何在word加載項中打開新文檔。
謝謝。
我已經開發了一個詞加載項,使用javascript javascript api。我的文檔.docx文件位於服務器上,我需要將該.docx文檔作爲一個新的Word文檔打開,然後單擊加載項。如何在word加載項中打開新的Word docx文檔
請指導我如何在word加載項中打開新文檔。
謝謝。
基於JavaScript的Office.js API不支持在新實例中打開文檔(即新的單獨的Word窗口),至少暫時不受支持。您始終從Context
對象開始,該對象將允許您通過Context.document
屬性訪問當前活動的文檔。
您可以做的是將內容插入到現有的文檔中,例如,通過body.insertOoxml
方法。
目前,與傳統的COM API相比,Office.js API仍然有限。如果您需要完整的功能集,您現在仍可以考慮開發COM或VSTO解決方案。唯一的缺點是您的加載項不能在Windows桌面以外的任何平臺上運行。
我們正在向API中添加新的方法,您可以實際使用它來實現此目的。注意,這是預覽,這意味着將在幾個月內投入生產。您需要最新的Office版本,並參考我們的預覽office.js來試用它。 office.js預覽在這裏https://appsforoffice.microsoft.com/lib/beta/hosted/office.js
看看這個代碼示例是多麼容易做到這一點。
function onaddOpenDoc() {
Word.run(function (context) {
// this getDocumentAsBase64 assumes a valid base64-encoded docx file
var myNewDoc = context.application.createDocument(getDocumentAsBase64());
context.load(myNewDoc);
return context.sync()
.then(function() {
myNewDoc.open();
context.sync();
}).catch(function (myError) {
//otherwise we handle the exception here!
showNotification("Error", myError.message);
})
}).catch(function (myError) { showNotification("Error", myError.message); });
}
謝謝,它正在按預期工作,等待生產。 – user3931619
它還沒有生產?官方文檔https://dev.office.com/reference/add-ins/shared/context中沒有「應用程序」屬性。順便說一句。我使用angular 4,並且在Word Namespace的類型中的RequestContext-Class上沒有應用程序屬性。 – JohnnyAW
還不是我們正在積極研究它 –
這是現在支持,請參考我的答案...謝謝! –
@JuanBalmori:這是個好消息!但如果我正確理解你的答案,這仍然在測試中。有沒有關於測試版功能的文檔?或者其他任何方式來跟進將要添加的功能? –
是預覽!請試一試!向我發送反饋!我們有一個開放的規格,我們放棄我們計劃發貨的一切!檢查出來https://github.com/OfficeDev/office-js-docs/tree/WordJs_1.3_Openspec/word這裏更多關於要求的信息https://github.com/OfficeDev/office-js-docs/樹/ WordJs_1.3_Openspec –