我一直在搜索MS Word中的所有默认样式。
对于某些特定样式,我注意到MS Word应用程序UI和OOXML中的样式名称不同。
e.g。在Word文档中插入一些注释 w:styleId =&#34; CommentText&#34; 正在styles.xml中填充。 styles.xml中此样式的名称为&#39;注释文本&#39; ,而在应用程序中,没有具有此名称的样式(尽管样式名称为注释文本< / strong>出现在Applciation UI中)。
我在评论文字样式中搜索了注释文字样式的一些映射,但我没有注意到任何映射。
相同的方案可以复制标题和页脚样式。
应用程序中这些样式的名称分别为&#39;页眉&#39; 和页脚(名称为首字母大写)。
我想知道如何在styles.xml中将样式名称映射到应用程序UI中。
答案 0 :(得分:3)
如果您想知道内置样式名称到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 文件,您可以轻松查看哪个显示名称属于哪个样式ID。