Powerpoint 2016 文本透明度

Powerpoint 2016 Text Transparency

我需要通过 VBA 设置形状中文本的透明度,实际上我需要设置整个形状的透明度,但这是我坚持使用的文本。

我似乎无法浏览对象模型以找到透明度 属性

Function SetTransparency(Value As Single)
On Error GoTo AbortNameShape

If ActiveWindow.Selection.ShapeRange.Count = 0 Then
    MsgBox "No Shapes Selected"
    Exit Function
End If

With ActiveWindow.Selection.ShapeRange
    .Fill.Transparency = Value
    .Line.Transparency = Value
    .TextFrame.TextRange. **HELP**  .Transparency = Value
    End With
AbortNameShape:
MsgBox Err.Description

End Function

Google 给了我

.TextFrame.TextRange.Characters.Font.Fill.Transparency

来自https://www.mrexcel.com/forum/excel-questions/510589-transparent-text-shapes-textbox-1-a.html

但是 Font 对象的 .Fill 属性 不存在。我假设 MS 在给出答案后的 10 年内更改了对象模型,但我坚持使用当前的方法。

谢谢

试试这个(只针对当前选择的第一个成员)

With ActiveWindow.Selection.ShapeRange(1)
    With .TextFrame2.TextRange.Font.Fill
        .Transparency = 0.5
    End With
End With

如果您想遍历当前选择中的所有形状,您需要在尝试处理文本之前测试每个形状以查看 .HasTextFrame 和 .TextFrame.HasText 是否为真。