Javascript 如何使用office.js在Word中获取表格当前单元格的格式

Javascript 如何使用office.js在Word中获取表格当前单元格的格式,javascript,office-js,office-app,Javascript,Office Js,Office App,我问了一个关于excel的问题。我又问了同样的问题,但这次关于ms word,我有可能得到在word应用程序中创建的表格单元格中的格式化文本 虽然我能够以html的形式获取所选文本,这为我提供了所需的样式 Office.context.document.getSelectedDataAsync(Office.CoercionType.Html, function (result) { if (result.status === Office.Async

我问了一个关于excel的问题。我又问了同样的问题,但这次关于ms word,我有可能得到在word应用程序中创建的表格单元格中的格式化文本

虽然我能够以html的形式获取所选文本,这为我提供了所需的样式

 Office.context.document.getSelectedDataAsync(Office.CoercionType.Html,
        function (result) {
            if (result.status === Office.AsyncResultStatus.Succeeded) {
                showNotification('The selected text is:', '"' + result.value + '"');
            } else {
                showNotification('Error:', result.error.message);
            }
        });
我只想要当前单元格格式的文本
谢谢大家!

非常好的问题。为了获得单元格格式,您需要使用当前处于预览状态的Word 1.3 API。 您可以看到如何尝试1.3API。(注意,您需要使用该页面上公开的预览Office.js CDN!) 检查所有新内容

现在,一旦您准备好尝试1.3,下面的代码将为您提供单元格格式信息。一般来说,代码所做的是

  • 验证所选内容是否在表中的单元格内
  • 一旦验证完成,我们就得到了细胞的“体”。Body对象包含FONT对象,该对象将包含您需要的所有格式(例如颜色、字体名称、粗体、斜体等)。您还可以使用getHtml()函数获取正文的HTML
  • 查找下面的代码以执行此操作。请注意,此代码将返回整个单元格中应用的格式。如果要进入下一级,即逐字获取格式信息,则需要在body对象上应用此方法,以便遍历并获取每个返回范围的格式信息。 希望这是有帮助的!快乐的编码

    函数getFormattedText(){ 运行(函数(上下文){ //步骤1:让我们获得选择的范围。并找出它是否在表格单元格内。。。。。 var mySelection=context.document.getSelection().parentTableCell; 加载(mySelection); 返回context.sync() .然后(函数(){ if(mySelection.isNull==true){ //所选内容不在单元格内。。。。。 log(“选择不在标题中”); } 否则{ //所选内容位于单元格内!让我们获取内容。。。。 var body=mySelection.body; load(body,{expand:'font'}); 返回context.sync() .然后(函数(){ console.log(body.font.name+“”+body.font.color);//此时所有字体属性都可用,包括粗体、斜体等等。。。 }) .catch(函数(e){ 控制台日志(e.message); }); } }) .catch(函数(e){ 控制台日志(e.message); }); });
    }感谢您的回复@Juan我正在浏览新的API文档,我发现它非常有用。office.js中是否也有Excel API的更新?Hi@Juan编写的此代码在Word 2013上不起作用,而且当我在office 2016上尝试上述代码时,它的代码工作不正常。我将向您发送代码。很抱歉,太晚了答:是的,Word的新API型号是2016+(最新API的最新更新),目前没有计划将其移植到2013年。