在vba中可以用Paragraph對象或者ParagraphFormat對象設置各種段落間距。
一、設置段落的行間距(行距)
要設置段落的行間距(行距)可以使用LineSpacingRule屬性和LineSpacing屬性兩者結合。
如下的vba代碼分別演示了如何設置某個段落的行間距為1.5倍行距、單倍行距、多倍行距、固定行距、最小行距:
這里要特別注意的是,單倍行距就相當於原來的字體是什么高度,就是什么高度,沒有增加額外的行間距。
Sub 設置段落的行間距() Dim oDoc As Document Set oDoc = Word.ActiveDocument Dim oP As Paragraph Set oP = oDoc.Paragraphs(1) With oP '行間距設置為1.5倍 .LineSpacingRule = wdLineSpace1pt5 '行間距設置為單倍 .LineSpacingRule = wdLineSpaceSingle '行間距設置為雙倍 .LineSpacingRule = wdLineSpaceDouble '行間距設置最小值 .LineSpacingRule = wdLineSpaceAtLeast '設置最小行距為48磅,1 line=12磅 .LineSpacing = Word.Application.LinesToPoints(4) '行間距設置為多倍 .LineSpacingRule = wdLineSpaceMultiple '設置行距為6行 .LineSpacing = Word.Application.LinesToPoints(6) '行間距設置為固定值 .LineSpacingRule = wdLineSpaceExactly '設置行距為固定值60磅 .LineSpacing = Word.Application.LinesToPoints(5) End With End Sub
二、設置段前、段后的間距
要設置段落前或段落后的行距,可以使用SpaceBefore和SpaceAfter屬性,還可以通過設置SpaceBeforeAuto 和SpaceAfterAuto 屬性把段前和段后的間距設置為自動設置。
Sub 設置段前、段后的間距() Dim oDoc As Document Set oDoc = Word.ActiveDocument Dim oP As Paragraph Set oP = oDoc.Paragraphs(1) With oP '段落后面空5行 .SpaceAfter = Word.Application.LinesToPoints(5) '段落前面空5行 .SpaceBefore = Word.Application.LinesToPoints(5) End With End Sub