2015-11-22 69 views
1

使用VBA我能夠在Word文檔的頁眉中插入文本:微軟Word VBA - 插入文本標題,風格各異

Set HeaderRange = ActiveDocument.Sections.Item(1).Headers(wdHeaderFooterPrimary).Range 

HeaderRange.Text = "header text' 

但我希望能夠到文本添加多行到標題,每個都有自己的風格應用於它。

的一種方式,我發現做到這一點如下:

Set HeaderRange = ActiveDocument.Sections.Item(1).Headers(wdHeaderFooterPrimary).Range 

HeaderRange.Text = "Line One Text" & vbNewLine & "Line Two Text" & vbNewLine & "Line Three Text" 

' set the ranges based on sentences 
Set NameRange = HeaderRange.Sentences(1) 
Set TitleRange = HeaderRange.Sentences(2) 
Set AddressRange = HeaderRange.Sentences(3) 

' set the styles for each part 
NameRange.Style = "title" 
TitleRange.Style = "strong" 
AddressRange.Style = "emphasis" 

,基本上工作,但如果有一段文字的線路之一的任何地方,這會導致一個問題()。

有沒有更好的方法可以將文本分隔爲多個部分並對每個部分應用不同的樣式?

回答

0

Range.Sentences集合對句點的位置很敏感,這些標記表示句子的結尾。 Range.Paragraphs集合不是,而是vbNewLine的位置,這顯然是你想要的。

Set NameRange = HeaderRange.Paragraphs(1).Range 
Set TitleRange = HeaderRange.Paragraphs(2).Range 
Set AddressRange = HeaderRange.Paragraphs(3).Range