2017-09-20 14 views
0

VBAを使用して図形の透明度を設定する必要があります。実際には、図形全体の透明度を設定する必要がありますが、これは貼り付けられたテキストです。Powerpoint 2016 Text Transparency

私はちょうどGoogleがhttps://www.mrexcel.com/forum/excel-questions/510589-transparent-text-shapes-textbox-1-a.html

から私に

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

を与えているしかし、それは.Fillに失敗し

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 

透明プロパティを見つけるために、オブジェクトモデルをナビゲートするように見えることはできませんFontオブジェクトのプロパティが存在しません。私は、MSが回答が与えられてから10年後にオブジェクトモデルを変更したと仮定していますが、私は現在のアプローチに固執しています。

おかげ

答えて

1

を使用すると、現在の選択範囲のすべての図形を反復処理したい場合は、それぞれをテストしたいと思う

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

(現在の選択のちょうど最初のメンバーのために)これを試してみてくださいテキストを処理しようとする前に、.HasTextFrameと.TextFrame.HasTextがtrueであるかどうかを確認します。

+0

ありがとうございます。なぜFont.FillがTextFrame2の子として動作しますが、TextFrameの子としては機能しないのですか?この情報はMSからは全く分かりませんでした! –

+0

以前のバージョンのPowerPointでは、Font.Fill(Font.Colorのみ)を指定できませんでした。 MSは新しいテキスト/フォントエフェクトのホストを追加したときに、新しいエフェクトへのアクセスを提供するTextFrame2オブジェクトを提供しましたが、互換性のために古いTextFrameを保持しました。そしてあなたは正しい:明快さは、MSのドキュメントの強みではありません。 –

関連する問題