MS Word:如何有效地创建Building Blocks?

时间:2010-08-10 14:18:06

标签: ms-word ms-office openxml

我需要创建一个带有已定义内容控件的Building Block Gallery,以便其他人可以轻松创建可以接受我的数据的word文档。我试图让这对用户尽可能轻松。

我想确保所有这些都是专业完成并且看起来很好所以我不想确保所有内容控件基本上都是相同的,只是使用不同的名称/标签和原始内容。在Word中执行此操作并不容易,需要一些时间。有时当我更改内容时,它会从greytext更改为标准,有时则不会(不确定原因,认为它与我如何覆盖“在此处放置文本”的事情有关)。所以我认为以编程方式进行是有效的。

然后我读了一些OpenXML FAQ,这是不可能的。我不明白的东西。如果我将Building Block存储在.dotx文件中,那么它就在XML里面的某个地方吗?我应该能够访问它。它存放在哪里?

我会非常感谢这里的指针,主要是关于如何在自定义Building Block库中创建多个内容控件的问题的答案。

2 个答案:

答案 0 :(得分:2)

内容控件可以很好地存在于构建块中。实际上,Word 2007附带的大多数内置构建块都包含内部控件。

存储运输构件:

  • 在Word 2007中:“%appdata%\ Microsoft \ Document Building Blocks \ 1033 \ 12 \ Building Blocks.dotx”
  • 在Word 2010中:“%appdata%\ Microsoft \ Document Building Blocks \ 1033 \ 14 \ Built-In Building Blocks.dotx”。

我认为您可以创建自己的.dotx文件(使用自己的构建块)并将其放在同一个文件夹中,以便Word在启动时加载它。

在.dotx文件本身中,它存储在\ word \ glossary \ document.xml。

如果你不能手动创建一个手动控制内容控件的构建块条目,我会感到惊讶。我不知道OpenXML SDK是否可以做到这一点 - 当提到它是不可能的时候,它可能只是它没有能力这样做,而不是技术上不可能。

答案 1 :(得分:0)

我知道这是一个老问题,但万一其他人正在寻找或原始海报仍在关注......

在VBA(和VSTO)中,您可以创建构建块(可以具有内容控件)。您可以将样式设置为相同,并将其他属性设置为一致(对于专业品质外观)。

然后,您可以将它们保存在构建块模板%appdata%\ Microsoft \ Document Building Blocks \ 1033 \ 14 \ Custom Building Blocks.dotx“其中1033是该语言的编号,14是版本的编号办公室(13 = Office 2007,14 == Office 2010,15 == Office 2013等)。

我认为这种方法比编辑Open Office XML更容易。