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中文件,你可以很容易地看到名字属于哪个显示器以什么样式编号。