爲了強化一些Word 2010樣式規範,我在下面編寫了VBA宏,這些規範在我的報告創作過程中傾向於解開。宏編譯沒有錯誤,但是當我在一個測試報告上運行它時,所有的格式化,但樣式名稱分配已被刪除,根本沒有任何反應。Word VBA腳本編譯時沒有錯誤但不起作用
Sub ntsReportFormatting()
Dim ntsReportDoc As Word.Document
Dim ntsNormal As Style
Dim ntsTOC1 As Style
Dim ntsTOC2 As Style
Dim ntsTOC3 As Style
Set ntsReportDoc = ActiveDocument
Set ntsNormal = ntsReportDoc.Styles("Normal")
With ntsNormal
.Font.Name = "Arial"
.Font.Size = 12
.ParagraphFormat.LeftIndent = 0.5
.ParagraphFormat.SpaceAfter = 0.6
End With
Set ntsTOC1 = ntsReportDoc.Styles("TOC 1")
With ntsTOC1
.Font.Name = "Arial"
.Font.Size = 12
.Font.Bold = True
.ParagraphFormat.LeftIndent = 0
.ParagraphFormat.SpaceBefore = 0.6
.ParagraphFormat.SpaceAfter = 0.6
End With
Set ntsTOC2 = ntsReportDoc.Styles("TOC 2")
With ntsTOC2
.Font.Name = "Arial"
.Font.Size = 12
.ParagraphFormat.LeftIndent = 0.17
.ParagraphFormat.SpaceBefore = 0.6
.ParagraphFormat.SpaceAfter = 0.6
.NoSpaceBetweenParagraphsOfSameStyle = True
End With
Set ntsTOC3 = ntsReportDoc.Styles("TOC 3")
With ntsTOC3
.Font.Name = "Arial"
.Font.Size = 12
.ParagraphFormat.LeftIndent = 0.33
.ParagraphFormat.SpaceBefore = 0.6
.ParagraphFormat.SpaceAfter = 0.6
.NoSpaceBetweenParagraphsOfSameStyle = True
End With
End Sub
我請教Lynda.com,MSDN文檔,YouTube和谷歌,我一直無法找到一個明確的解決方案。
嘗試用WdBuiltinStyle枚舉值替換文字字符串值 - wdStyleNormal而不是「Normal」,例如 - 看看是否有所作爲。您可以在VBA對象瀏覽器(F2)中找到該列表,或者如果您鍵入WdBuiltinStyle,智能感應應該提供它。 (但是請注意,我從內存中給你這個,所以我可能會拼寫錯誤!) –
這可能是'樣式'確實更新了,但它沒有在文檔文本中更新。除了TOC樣式外,它也適用於我,我沒有在我的樣式集中分配。 –