0

是否可以将内容控件插入 Word 文档,然后获取内容控件的某种句柄或上下文,然后将 HTML 插入其中?

本质上,我尝试使用 Office JavaScript API 创建的场景是根据用户的请求插入富文本内容控件,然后使用 HTML 填充它。

我可以使用http://social.msdn.microsoft.com/Forums/en-US/appsforoffice/thread/8c4809c7-743c-4388-aef0-bc6a6855c882中建议的方法从 JavaScript API 插入内容控件。它需要 ooxml 的 coercionType。但是,我希望使用 ooxml 填充的内容是基于 HTML 的。因此,当我尝试使用以下 ooxml 插入内容控件时:

...Boiler ooxml to create content control...

<w:r><w:t><h1>Test header</h1><h2>Test subheader</h2><p>Test paragraph text</p></w:t></w:r>

插入尝试失败。我假设这是因为在将其插入到带有 ooxml 的 coercionType 的文档中时,您不能混合使用 ooxml 和 html。

由于这种 ooxml 方法是您可以插入内容控件的唯一方法,那么如何使用 HTML 文本设置内容控件?我查看了http://msdn.microsoft.com/en-us/library/fp142295.aspx上的 Document 对象帮助内容,但我不确定我仍然可以这样做,或者是否可行。

谢谢

4

1 回答 1

1

虽然我没有用 JS 尝试过这个 - 但它应该是可能的。

尝试添加一个 altChunk 元素,它可以包含其他打开的 xml 或 html。我已经成功使用了几次。

关于这个问题的一些链接:http: //blogs.msdn.com/b/brian_jones/archive/2008/12/08/the-easy-way-to-assemble-multiple-word-documents.aspx http:// blogs.msdn.com/b/ericwhite/archive/2008/10/27/how-to-use-altchunk-for-document-assembly.aspx

但是,您应该尝试使用“strict”-xml - 否则上述内容可能无法实现。

我刚刚找到了这个例子(对不起,它是德语,但在某个地方也应该有一个英文版本)。其中 coercionType 是这样使用的:

    Office.context.document.setSelectedDataAsync(
      booksToRead,
      { coercionType: Office.CoercionType.Html },
      function (result) {
    // Access the results, if necessary.
    });

这也可以解决问题。

于 2013-06-10T12:57:03.160 回答