我想制作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);
}
});
}