Бета-версия office.js не работает с настольной версией Office 365 32-разрядная версия Microsoft Word 2016 MSO (16.0.9126.2152). Document.open () выдает ошибку:
Document.open, OfficeExtension.Error
GeneralException: GeneralException
в анонимной функции (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:222335) в ai (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:267964 ) по адресу ft (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:268051) в d (https://appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js:21:267871 ) в c (h ttps: //appsforoffice.microsoft.com/lib/beta/hosted/word-win32-16.01.js: 21: 266567) Бета-версия нормально работала в старой версии Office 365 Microsoft Word 2016 MSO (16.0 .9029.2253) 32-бит.
Изменить
а) Я использую бета-версию CDN https://appsforoffice.microsoft.com/lib/beta/hosted/office.js с последней настольной версией Office 365 Microsoft Word 2016 MSO (16.0.9126.2152), поскольку метод .open () по-прежнему недоступен в производственной CDN. Но он доступен в бета-версии: https://github.com/OfficeDev/office-js-docs/tree/WordJs_OpenSpec
б) В основном я хочу создать и открыть документ. Для этого используется метод createdocument и передается файл base64encode. Затем после некоторых операций поиска и замены (например, поиск «Test» и замена на «Hello World») и его открытие с помощью .open (). Работал до старой версии Office 365 Microsoft Word 2016 MSO (16.0.9029.2253).
Word.run(function (context) {
var myNewDoc = context.application.createDocument(base64File);
var searchResults = '';
return context.sync()
.then(function () {
searchResults = myNewDoc.body.search('{{Test}}', { matchCase: true });
context.load(searchResults);
})
.then(context.sync)
.then(function () {
for (var i = 0; i < searchResults.items.length; i++) {
searchResults.items[i].insertText('Hello World', Word.InsertLocation.replace);
}
})
.then(context.sync)
.then(function () {
myNewDoc.open();
});
})
.catch(errorHandler);
Тот же код я дважды проверил, восстановив старую версию, и работал нормально. Чтобы восстановить старую версию, выполните следующие действия:
- Открытое слово
- Перейдите в Файл -> Учетная запись -> Обновления Office. Отключить обновления
Щелкните правой кнопкой мыши cmd.exe и выберите Запуск от имени администратора. В командной строке выполните следующие команды:
а. cd% programfiles% \ Common Files \ Microsoft Shared \ ClickToRun
б. officec2rclient.exe / обновление пользователя updatetoversion = 16.0.9029.2253
После этого убедитесь, что офисная версия обновлена до 16.0.9029.2253.