2014-06-14 48 views
2

我正在尝试使用Office js API为Word Office创建应用程序。用Office应用程序更改word文档样式

我已经找到了如何获取和设置内容到Word文档中,但有一个很难找到如何改变样式一样的东西(标题等)

进入该怎么做之前IM,它是甚至可能吗?

+0

使用setSelectedDataAsync API,你应该能够通过它支持样式的HTML或Office Open XML,所以我很困惑。你试图完成的是什么,不能用你提到的两个API来完成? – MrPiao

+0

当我写这个问题时,我想要的是一个API来使用Word预定义的样式,并像使用普通用户那样在选定的文本上使用它们。无论如何,我最终插入了ooxml并完成了工作。 非常感谢。 –

回答

1

对您的问题的回答是肯定的,现在,api这个词有点新,并且缺少一些可能使开发人员生活更轻松的功能。首先,单词api不支持头文件,因此为此创建一个Content控件并将其用作头文件。我目前正在使用这个工作,在我使用的一个单词应用程序。

现在的样式,样式很棒。如果用户的电脑当前在电脑上安装了这些样式,则可以轻松引用这些样式。然而,作为一名开发者,你可能已经发现生活并不容易。所以我也运行这个问题,并通过首先插入我想要的内容,然后制作一个段落代理对象的集合来处理它。然后我加载这两个对象,并同步。在迭代段落集合并添加我自定义的样式之后,这是我制作的预设对象。下面的函数将向你展示我试图解释的内容。我希望这有帮助

function InsertHtml(content, styleSelection) { 

    Word.run(function (context) { 

     var range = context.document.body.insertHtml(content, "end"); 
     var paragraphs = context.document.body.paragraphs; 

     return context.sync().then(function() { 

      var index = $.map(headerStyles, function (obj, index) { 
       if (obj.name == styleSelection) { 
        return index; 
       } 
      }) 
      for (var x = 0; x < paragraphs.items.length; x++) { 

       var paragraph = paragraphs.items[x]; 
       paragraph.font.name = headerStyles[index].fontName; 
       paragraph.font.color = headerStyles[index].color; 
       paragraph.font.size = headerStyles[index].size; 
       paragraph.leftIndent = headerStyles[index].indent; 
       //paragraph.lineSpacing = headerStyles[index].lineSpacing; 
       //paragraph.alignment = headerStyles[index].alignment;       
      } 



      return context.sync(); 
     }); 
    }) 
    .catch(feedBackMessage); 
}; 
+0

嗨。我有一个关于你的答案的问题。您自定义样式是您制作的预设对象。你能否详细说明一下。我想使用我的单词javascript加载项将自定义样式添加到文档。我不知道如何继续。如果你可以多解释一点,这将非常有帮助。 –

+0

嘿,穆罕默德,是在PC上加载的自定义样式?这个例子是当我使用HTML并能够通过让我可以引用一个css类来改变样式。开始的一个好地方是在PC上本地创建样式,用这些样式编写段落或几个句子,然后继续使用JavaScript函数以HTML格式阅读它。将文本加载为HTML后,您可以看到创建的输出以及CSS类如何容纳样式。然后,您可以模仿此行为来添加自定义样式。 – EasyE

相关问题