Ms word MS Word:如何高效地创建构建块?

Ms word MS Word:如何高效地创建构建块?,ms-word,ms-office,openxml,Ms Word,Ms Office,Openxml,我需要创建一个具有已定义内容控件的构建块库,以便于其他人创建准备好接受我的数据的word文档。我正试图让用户尽可能无痛 我想确保所有这些都是专业的,看起来不错,所以我不想确保所有的内容控件基本上是相同的,只是名称/标签和原始内容不同。这样做并不容易,需要一些时间。有时,当我更改其中的内容时,它会从灰色文本更改为标准文本,有时则不会(不确定原因,认为这与我如何覆盖“将文本放置在此处”有关)。所以我认为按程序来做是可行的 然后我在一些OpenXML常见问题中读到这是不可能的。我不明白的事。如果我将构

我需要创建一个具有已定义内容控件的构建块库,以便于其他人创建准备好接受我的数据的word文档。我正试图让用户尽可能无痛

我想确保所有这些都是专业的,看起来不错,所以我不想确保所有的内容控件基本上是相同的,只是名称/标签和原始内容不同。这样做并不容易,需要一些时间。有时,当我更改其中的内容时,它会从灰色文本更改为标准文本,有时则不会(不确定原因,认为这与我如何覆盖“将文本放置在此处”有关)。所以我认为按程序来做是可行的

然后我在一些OpenXML常见问题中读到这是不可能的。我不明白的事。如果我将构建块存储在一个.dotx文件中,它应该在XML的某个地方,对吗?我应该可以访问它。它存放在哪里


在这里,我将非常感谢您的指点,主要是回答如何在自定义构建块库中创建多个内容控件的问题。

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

装运构建块存储在以下位置:

  • 在Word 2007中:“%appdata%\Microsoft\Document Building Blocks\1033\12\Building Blocks.dotx”
  • 在Word 2010中:“%appdata%\Microsoft\Document Building Blocks\1033\14\内置Building Blocks.dotx”
我认为您可以创建自己的.dotx文件(具有自己的构建块),并将其放在同一文件夹中,以便Word在启动时加载它

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


如果您不能手动创建一个包含内容控件的构建块条目,至少我会感到惊讶。我不知道OpenXML SDK是否可以做到这一点——当提到它不可能做到时,可能只是因为它没有能力做到这一点,而不是说它在技术上是不可能的。

我知道这是一个老问题,但如果其他人在看或者原始海报仍然关心

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

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


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

我自己检查后,似乎是可能的,但可能没有建议。它似乎没有给出自己的ID。这可能会导致一些问题。我想我只需在Word中创建一个我需要的数量,然后使用OpenXML或XML将其更改为我不需要的数量em。然后它们也会包括Id。顺便说一句,它似乎存储在文档的词汇表部分中。