Я хочу сделать надстройку для контента PowerPoint, которая выделяет выбранное предложение. Прежде чем перейти к следующему шагу, я хочу изменить выделенные предложения на «жирный». Однако функция, предоставляемая Microsoft API 'get.SelectedDataAsync', - это просто чтение текста выбранной области, и всякий раз, когда я использую функцию set.SelectedDataAsync, она также просто устанавливает только выбранный текст. Я хочу установить текст со стилем в области содержимого, я не понимаю, как это сделать.
Я опубликовал код, и после его выполнения выбранный текст изменяется и задается в полях панели задач, но не изменяется и не устанавливается в поле содержимого.
(function () {
"use strict";
var messageBanner;
Office.initialize = function (reason) {
$(document).ready(function () {
var element = document.querySelector('.ms-MessageBanner');
messageBanner = new fabric.MessageBanner(element);
messageBanner.hideBanner();
// Assign event handler for Bodling-text button.
$('#bold-text').click(boldText);
});
};
function boldText() {
Office.context.document.getSelectedDataAsync(Office.CoercionType.Text,
function (asyncResult) {
if (asyncResult.status == Office.AsyncResultStatus.Failed) {
bolding('Action failed. Error: ' + asyncResult.error.message);
}
else {
bolding(asyncResult.value);
}
});
}
function bolding(result) {
//message.font.bold = true;
//message.Font.Bold = msoTrue;
document.getElementById("message").innerHTML = result;
document.getElementById("message").style.fontWeight = "900";
// element.font.bold = true;
// $(this).css({ "font-weight": "bold" });
Office.context.document.setSelectedDataAsync(
document.getElementById("message"),
function (asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
showNotification("Error", asyncResult.error.message);
}
});
}