- ベストアンサー
Excel2007のVBAで、ワードアートの塗りつぶしの「透過性」を変更する方法を教えてください!
VBA初心者です。 趣味でMicrosoftExcel2003のVBAをやっていたのですが、Excel2007でVBAのコードの動作確認をした際に、ワードアートの単色塗りつぶしの透過性を変更するコードが使えませんでした。 Excel2003では Activesheet.Shapes(図形の名前).Fill.Transparency = 値 で出来たのですが、2007では「ワードアートが入っている図形」の塗りつぶしに反映されてしまいます。 また、2007ではマクロの記録を使ってもワードアート等の設定が記録されないので、困っています。 そこで質問です。 Excel2007で、ワードアートの塗りつぶしが単色の場合の『塗りつぶしの透過性』をVBAで設定する場合のコードを教えてください。 ご存知の方、どうか回答を宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 こんな風にすればできるように思います。 文字どおりですと、TextEffect(テキスト効果)なのですが、なぜ、TextFrame2 になるのか、ここら辺は、プロパティ名が統一されていないような気がします。 Sub Test1() Dim i As Integer With ActiveSheet.Shapes("正方形/長方形 1") 'ワードアートの領域の四角 For i = 0 To 10 Step 2 .TextFrame2.TextRange.Font.Fill.Transparency = i * 0.1 Application.ScreenUpdating = True MsgBox "透過率: " & Format$(i * 0.1, "0 %") Next i End With End Sub
その他の回答 (1)
- xls88
- ベストアンサー率56% (669/1189)
文面からは解りずらいのですが、文字の部分のTransparencyの設定ができない、ということでしょうか? 手動操作の中では、それらしいものは見つからないです。サポートされていないのではないでしょうか。 Excel2003では、文字の部分にTransparencyが間違いなく設定されていたのでしょうか。 次善の策として、Characters.Font.ColorのRGB値を操作する程度では駄目でしょうか。
お礼
分かりづらい文章で申し訳ありません。おっしゃるとおり、「文字の部分の透過性」という意味です。 Excel2003ではアニメーションなども成功しました。ただ、背面の色に関わらず透明な様子を表現したかったので、RGB値ではできません。 ご回答ありがとうございました。
お礼
成功しました!!本当に有難う御座います!!!やはりここに質問してよかったです。 サンプルコードも非常に分かりやすいです...もうなんとお礼を言っていいのか分からないくらいです。 TextFrame2というプロパティがあったんですね...どこを調べても出てこないので、本当に諦めようかと思っていました。 改めて、ご回答有難う御座いました。