.docx - это расширение файлов, созданных с использованием формата по умолчанию Microsoft Word 2007 или выше. Используйте этот тег при программной работе с файлами.docx, например при создании.docx, извлечении данных из.docx или редактировании.docx

.docx- расширение файла для файлов, созданных с использованием формата по умолчанию Microsoft Word 2007 или выше. Это формат Microsoft Office Open XML WordProcessingML. Этот формат основан на заархивированной коллекции файлов расширяемого языка разметки (XML). Microsoft Office Open XML WordProcessingML в основном стандартизирован в ECMA 376 и ISO 29500.

Раньше Microsoft использовала двоичный формат BIFF (Binary Interchange File Format) (.xls, .doc, .ppt). Теперь он использует формат OOXML (Office Open XML). Эти файлы (.xlsx, .xlsm, .docx, .docm, .pptx, .pptm) заархивированы в формате XML.

.docx- это новый формат Word по умолчанию, он не может содержать VBA (по соображениям безопасности, заявленным Microsoft).
.docm- это новый формат Word, в котором можно хранить VBA и выполнять макросы.

В .docx format- это заархивированный файл, содержащий следующие папки:

+--docProps
|  +  app.xml
|  \  core.xml
+  res.log
+--word //this folder contains most of the files that control the content of the document
|  +  document.xml //Is the actual content of the document
|  +  endnotes.xml
|  +  fontTable.xml
|  +  footer1.xml //Containst the elements in the footer of the document
|  +  footnotes.xml
|  +--media //This folder contains all images embedded in the word
|  |  \  image1.jpeg
|  +  settings.xml
|  +  styles.xml
|  +  stylesWithEffects.xml
|  +--theme
|  |  \  theme1.xml
|  +  webSettings.xml
|  \--_rels
|     \  document.xml.rels //this document tells word where the images are situated
+  [Content_Types].xml
\--_rels
   \  .rels

Основное содержимое файла docx находится в word/document.xml.

Типичный word/document.xml выглядит так:

<w:body>
  <w:p w:rsidR="001A6335" w:rsidRPr="0059122C" w:rsidRDefault="0059122C" w:rsidP="0059122C">
    <w:r>
      <w:t>Hello </w:t>
    </w:r>
    <w:proofErr w:type="spellStart"/>
    <w:r w:rsidR="008B4316">
      <w:t>W</w:t>
    </w:r>
    <w:proofErr w:type="spellEnd"/>
    <w:r>
      <w:t>orld</w:t>
    </w:r>
    <w:bookmarkStart w:id="0" w:name="_GoBack"/>
    <w:bookmarkEnd w:id="0"/>
  </w:p>
  <w:sectPr w:rsidR="001A6335" w:rsidRPr="0059122C" w:rsidSect="001A6335">
    <w:headerReference w:type="default" r:id="rId7"/>
    <w:footerReference w:type="default" r:id="rId8"/>
    <w:pgSz w:w="12240" w:h="15840"/>
    <w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="720" w:footer="720" w:gutter="0"/>
    <w:cols w:space="720"/>
    <w:docGrid w:linePitch="360"/>
  </w:sectPr>
</w:body>

Теги w:body (для всего документа), а затем документ разделяется на несколько w:p(абзацы). Иw:sectPr, который определяет верхние и нижние колонтитулы, используемые для этого документа.

Внутри w:p, есть несколько w:r(бежит). Каждый запуск определяет свой собственный стиль (цвет текста, размер шрифта,...), и каждый запуск содержит несколькоw:t (текстовые части).

Как видите, простое предложение вроде Hello World могут быть разделены на несколько w:t, что усложняет реализацию шаблонов.