用vba设置ppt的幻灯片的字体名称与用vba设置excel或者word的字体名称有些不同。
当要设置幻灯片的字体时,Font对象提供了以下5个设置字体名称的属性:
Name 属性用于返回或者设置Font对象的名称,一般用于从集合中返回单个对象。
NameAscii属性返回或设置用于 ASCII 字符的字体(字符集编号在 0 到 127 范围内的字符)。
NameFarEast属性返回或设置亚洲字体名称。
NameComplexScript返回或设置复杂文种字体名称。用于混合语言文本
NameOther属性返回或设置字符集编号大于 127 的字符所用的字体
为了让所有字符都用统一的字体,用vba设置ppt的幻灯片的字体名称时可以将以上属性都设置为统一值。
Sub QQ1722187970()
'形状对象
Dim oShape As Shape
'幻灯片对象
Dim oSlide As Slide
'返回文本区域对象
Dim oRng As TextRange
Dim oTable As Table
Dim oCell As Cell
Dim oPPT As Presentation
Set oPTT = PowerPoint.ActivePresentation
With oPTT
For Each oSlide In .Slides
With oSlide
For Each oShape In .Shapes
With oShape
If .HasTextFrame Then
Set oRng = .TextFrame.TextRange
With oRng.Font
.Color = vbRed
End With
End If
If .HasTable Then
Set oTable = .Table
With oTable
iCol = .Columns.Count
iRow = .Rows.Count
For i = 1 To iRow
For j = 1 To iCol
Set oRng = .Cell(i, j).Shape.TextFrame.TextRange
With oRng.Font
.Color = vbRed
End With
Next j
Next i
End With
End If
If .Type = msoGroup Then
Set oShapes = .GroupItems
For Each oShape1 In oShapes
With oShape1
If .HasTextFrame Then
Set oRng = .TextFrame.TextRange
With oRng.Font
.Color = vbRed
End With
End If
If .HasTable Then
Set oTable = .Table
With oTable
iCol = .Columns.Count
iRow = .Rows.Count
For i = 1 To iRow
For j = 1 To iCol
Set oRng = .Cell(i, j).Shape.TextFrame.TextRange
With oRng.Font
.Color = vbRed
End With
Next j
Next i
End With
End If
End With
Next
End If
End With
Next
End With
Next
End With
End Sub
其中以上代码中的Presentation、Slide、TextFrame、TextRange都是ppt中的常用对象。


请问 如何在2016版ppt中使用VBA代码批量设置文本框中字符间距