1、 将第一行缩进n个字符
要将段落的第一行设置为缩进n个字符,可以使用段落对象的
子存储时间()
DimoDoc As Document
Dim oPAs Paragraph
DimoRng As Range
SetoDoc = Word.ActiveDocument
WithoDoc
Debug.Print.Paragraphs.Count
SetoP = .Paragraphs(1)
WithoP
‘先设置参数为一个极大的负值,取消首行缩进
.IndentFirstLineCharWidth-10000
‘然后首行缩进3个字符
.IndentFirstLineCharWidth6
EndWith
EndWith
End Sub
Paragraph对象的IndentFirstLineCharWidth方法如果参数设置为负值,将取消对应的首行缩进字符数。
二、段落整体左侧缩进N个字符
要设置段落整体左侧缩进为N个字符,可以使用Paragraph对象的IndentCharWidth方法。
代码如下:
Sub Savetime()
DimoDoc As Document
Dim oPAs Paragraph
DimoRng As Range
SetoDoc = Word.ActiveDocument
WithoDoc
Debug.Print.Paragraphs.Count
SetoP = .Paragraphs(1)
WithoP
‘ 先设置参数为一个极大的负值,取消段落的整体左侧缩进
.IndentCharWidth-1000
‘ 取消首行缩进
.IndentFirstLineCharWidth-10000
‘ 然后整个段落缩进10个字符
.IndentCharWidth10
EndWith
EndWith
End Sub
Paragraph对象的IndentCharWidth方法如果参数设置为负值,将取消对应的整体缩进字符数。
三、段落整体缩进N个制表位
要设置段落整体左侧缩进为N个制表位,需要调用N次Paragraph对象的Indent方法,如果要取消缩进制表位,可以调用Paragraph对象的Outdent方法。
代码如下:
Sub Savetime()
DimoDoc As Document
Dim oPAs Paragraph
DimoRng As Range
SetoDoc = Word.ActiveDocument
WithoDoc
Debug.Print.Paragraphs.Count
SetoP = .Paragraphs(1)
WithoP
‘缩进1个制表位
.Indent
‘缩进2个制表位
.Indent
.Outdent
.Outdent
EndWith
EndWith
End Sub
比起多次调用Paragraph对象的Indent方法,还可以直接使用Paragraph对象的TabIndent方法,代码如下:
Sub Savetime()
DimoDoc As Document
Dim oPAs Paragraph
DimoRng As Range
SetoDoc = Word.ActiveDocument
WithoDoc
Debug.Print.Paragraphs.Count
SetoP = .Paragraphs(1)
WithoP
.TabIndent-100
.TabIndent2
EndWith
EndWith
End Sub
四、段落悬挂缩进N个字符
在vba中没有内置直接设置悬挂缩进几个字符的方法,但是内置了悬挂缩进几个制表位的方法。
使用Paragraph对象的TabHangingIndent方法,可以设置悬挂缩进几个制表位,由于默认1个制表位代表N个字符,通过这个关系可以设置悬挂缩进几个字符。
以下代码先设置默认的制表位为2个字符(0.74厘米),然后再悬挂缩进2个制表位,等于悬挂缩进4个字符。
Sub Savetime()
DimoDoc As Document
Dim oPAs Paragraph
DimoRng As Range
SetoDoc = Word.ActiveDocument
WithoDoc
‘设置默认的制表位为2个字符,0.74厘米
.DefaultTabStop = Word.Application.CentimetersToPoints(0.74)
SetoP = .Paragraphs(1)
WithoP
‘悬挂缩进4个字符
.TabHangingIndent2
EndWith
EndWith
End Sub