MS Word OOXML样式名称问题

问题描述:

我一直在搜索MS Word中的所有默认样式。MS Word OOXML样式名称问题

对于某些特定的样式,我注意到样式名称在MS Word应用程序UI和OOXML中不同。

例如在Word文档中插入一些注释样式w:styleId =“CommentText”正在styles.xml中填充。 styles.xml中的此样式的名称是'注释文本',而在应用程序中,此名称的样式不存在(虽然名称为的注释文本存在于Applciation UI中)

我搜索与注释文本样式注释文本样式一些映射,但我没有发现任何映射。

同样的情况是可复制的标题页脚样式。

这些样式在应用程序名称是“标头”页脚分别为(名称以大写首字母)。

我想知道如何在styles.xml中将样式名称映射到应用程序UI中的名称。

如果您想知道内置样式的名称到Open XML中使用的样式ID的映射,您可以创建一个包含所有内置样式的示例文档,然后检查该文件的Open XML 。

这个宏将创建一个文档的所有内置的段落样式:

Sub CreateDocWithBuiltinStyles() 

    Dim style As style 
    Dim doc As Document 
    Dim rng As Range 

    Set doc = Application.Documents.Add 
    Set rng = doc.Range 

    For Each style In doc.Styles 
     If style.BuiltIn And _ 
      (style.Type = wdStyleTypeParagraph Or _ 
      style.Type = wdStyleTypeLinked Or _ 
      style.Type = wdStyleTypeCharacter Or _ 
      style.Type = wdStyleTypeParagraphOnly) Then 

      Set rng = doc.Range 
      rng.Collapse wdCollapseEnd 
      rng.style = style 
      rng.Text = style.NameLocal & vbCrLf 

     End If 
    Next 
End Sub 

你就必须检查所生成的包document.xml中文件,你可以很容易地看到名字属于哪个显示器以什么样式编号。