Как получить HTML-контент документа Microsoft Word? - PullRequest
0 голосов
/ 05 декабря 2018

Я использовал приведенный ниже код для получения HTML содержимого Microsoft Word Document:

Word.run(function (context) {
                    var body = context.document.body;
                    context.load(body, 'html');
                    console.log(body.getHtml());

                    return context.sync().then(function () {
                        console.log("Content is fetched:", body.getHtml().value);
                    });
                })
                .catch(function(error){
                    // Log additional information, if applicable:
                    if (error instanceof OfficeExtension.Error) {
                        console.log(error.debugInfo);
                    }
                });

Здесь в приведенном выше коде body.getHtml() печатает объект, внутри которого находитсясодержание я ожидаю.Чтобы извлечь эти данные, я использую .value для получения фактического HTML содержимого, но при этом выдается следующее сообщение об ошибке:

В выборке данных слова есть ошибка RichApi.Error: «Значениеобъект результата еще не был загружен. Перед прочтением свойства value вызовите context.sync () для соответствующего контекста запроса. "

Я выдал context.sync(), но появляется та же ошибка,Любая помощь здесь?

1 Ответ

0 голосов
/ 05 декабря 2018

Фундаментальная проблема здесь заключается в том, что вы получаете HTML с вызовом метода, вы не загружаете подобные вещи, неявные, но вы хотите убедиться, что вы синхронизировались до получения значений:)

Вот как это работает, проверьте образец ниже:

Word.run(function (context) {
        var myHTML  = context.document.body.getHtml();
    
        return context.sync()
            .then(function() {
                console.log(myHTML.value);
            });
    });
...