Как открыть новый документ Word docx в Word Add-In
Я разработал надстройку слова, используя слово javascript api. Файл.docx моего документа находится на сервере, и мне нужно открыть этот документ.docx как новый текстовый документ нажатием кнопки в надстройке.
Пожалуйста, объясните мне, как открыть новый документ в надстройке Word.
Благодарю.
2 ответа
Существует новый метод, который мы добавляем в 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); });
}
Открытие документа в новом экземпляре (то есть в новом отдельном окне Word), по крайней мере, на данный момент, не поддерживается API Office.js на основе JavaScript. Вы всегда начинаете с Context
объект, который даст вам доступ к текущему активному документу через Context.document
имущество.
Что вы можете сделать, это вставить содержимое в существующий документ, например, через body.insertOoxml
метод.
В настоящее время API Office.js по-прежнему ограничен по сравнению с классическим COM API. Если вам нужен полный набор функций, вы все равно можете подумать о разработке решения COM или VSTO сегодня. Единственным недостатком является то, что ваша надстройка не будет работать на любой платформе, кроме рабочего стола Windows.