如何在PowerPoint插件中插入带有样式的文本?

时间:2019-01-11 01:38:26

标签: javascript powerpoint add-in

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

}

0 个答案:

没有答案