Powerpoint 2016 Прозрачность текста

Мне нужно установить прозрачность текста в фигуре через 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

Но это не на .Fill собственностью Font объект не существует Я предполагаю, что MS изменила объектную модель за 10 лет, прошедших с момента получения ответа, но я застряла на текущем подходе.

Спасибо

1 ответ

Решение

Попробуйте это (только для первого члена текущего выбора)

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

Если вы хотите перебрать все фигуры в текущем выделении, вам нужно протестировать каждую фигуру, чтобы увидеть, истинны ли.HasTextFrame и.TextFrame.HasText, прежде чем пытаться работать с текстом.

Другие вопросы по тегам