javascript - Office.js 使用内联 CSS 在 ContentControl 中格式化 HTML

标签 javascript ms-word office-js

我正在插入这样的内容控件(ScriptLab 示例):

$("#run").click(() => tryCatch(run));

var myHtml = '<div style="padding-left:2em; text-indent:-2em;">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</div>';

async function run() {
  await Word.run(async (context) => {
    var range = context.document.getSelection();
    var cc = range.insertContentControl();
    var ccRange = cc.insertHtml(myHtml, 'Replace');
    await context.sync();
  });
}

async function tryCatch(callback) {
  try {
    await callback();
  }
  catch (error) {
    OfficeHelpers.UI.notify(error);
    OfficeHelpers.Utilities.log(error);
  }
}

Word 中预期的视觉输出是这样的:http://cssdeck.com/labs/ocplq2la (带有悬挂缩进)。然而,内联 css 似乎被忽略了,虽然文本被正确插入到内容控件中,但没有像链接示例中那样的悬挂缩进。

通过 Office.js 实现这种样式的正确方法是什么?有可能吗?

最佳答案

传递给 insertHtml() 的标记样式存在一个已知错误。您通常可以通过在末尾包含另一个相同类型的元素来解决它。请尝试包括 <div></div>在标记的末尾。

关于javascript - Office.js 使用内联 CSS 在 ContentControl 中格式化 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50172647/

相关文章:

javascript - 是否可以使用 office 加载项复制 excel 公式?

javascript - 如果单击超链接,使浏览器提交额外的 HTTP header

javascript - 建议 : Struggling with Model-View-Controller in JavaScript

javascript - MS Word ActiveX 控件 - 是否可以访问打开的文档?

c# - 获取 Word 中菜单项的宏命令名称

excel - 如何在不使用超链接公式的情况下使用 office-js 将超链接添加到工作表中的单元格?

javascript - 通过 Office JS API 以编程方式设置 Outlook 类别

javascript - 如何从 Xpath 中的 javascript 事件处理程序获取链接?

javascript - 将 Javascript 变量动态附加到 URL

java - 如何使用 apache poi 在 docx 中写入混合文本(普通和下标)?