2016-09-28 48 views
1

我一直在搜索MS Word中的所有默認樣式。MS Word OOXML樣式名稱問題

對於某些特定的樣式,我注意到樣式名稱在MS Word應用程序UI和OOXML中不同。

例如在Word文檔中插入一些註釋樣式w:styleId =「CommentText」正在styles.xml中填充。 styles.xml中的此樣式的名稱是'註釋文本',而在應用程序中,此名稱的樣式不存在(雖然名稱爲的註釋文本存在於Applciation UI中)

我搜索與註釋文本樣式註釋文本樣式一些映射,但我沒有發現任何映射。

同樣的情況是可複製的標題頁腳樣式。

這些樣式在應用程序名稱是「標頭」頁腳分別爲(名稱以大寫首字母)。

我想知道如何在styles.xml中將樣式名稱映射到應用程序UI中的名稱。

回答

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中文件,你可以很容易地看到名字屬於哪個顯示器以什麼樣式編號。