使用VBA,我可以在Word文档标题中插入文本:
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"
基本上可以,但是如果其中一行文本中的任何位置都有句点(。),则会引起问题。
有没有更好的方法可以分隔文本以将标题放入多个部分,并为每个部分应用不同的样式?
该Range.Sentences
集合是周期的位置敏感,这标志着一个句子的结尾。该Range.Paragraphs
集合不是,而是的位置vbNewLine
,这显然是你想要的。
Set NameRange = HeaderRange.Paragraphs(1).Range
Set TitleRange = HeaderRange.Paragraphs(2).Range
Set AddressRange = HeaderRange.Paragraphs(3).Range
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句