• ベストアンサー

Excel2007のVBAで、ワードアートの塗りつぶしの「透過性」を変更する方法を教えてください!

VBA初心者です。 趣味でMicrosoftExcel2003のVBAをやっていたのですが、Excel2007でVBAのコードの動作確認をした際に、ワードアートの単色塗りつぶしの透過性を変更するコードが使えませんでした。 Excel2003では Activesheet.Shapes(図形の名前).Fill.Transparency = 値 で出来たのですが、2007では「ワードアートが入っている図形」の塗りつぶしに反映されてしまいます。 また、2007ではマクロの記録を使ってもワードアート等の設定が記録されないので、困っています。 そこで質問です。 Excel2007で、ワードアートの塗りつぶしが単色の場合の『塗りつぶしの透過性』をVBAで設定する場合のコードを教えてください。 ご存知の方、どうか回答を宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.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

z1rcom
質問者

お礼

成功しました!!本当に有難う御座います!!!やはりここに質問してよかったです。 サンプルコードも非常に分かりやすいです...もうなんとお礼を言っていいのか分からないくらいです。 TextFrame2というプロパティがあったんですね...どこを調べても出てこないので、本当に諦めようかと思っていました。 改めて、ご回答有難う御座いました。

その他の回答 (1)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

文面からは解りずらいのですが、文字の部分のTransparencyの設定ができない、ということでしょうか? 手動操作の中では、それらしいものは見つからないです。サポートされていないのではないでしょうか。 Excel2003では、文字の部分にTransparencyが間違いなく設定されていたのでしょうか。 次善の策として、Characters.Font.ColorのRGB値を操作する程度では駄目でしょうか。

z1rcom
質問者

お礼

分かりづらい文章で申し訳ありません。おっしゃるとおり、「文字の部分の透過性」という意味です。 Excel2003ではアニメーションなども成功しました。ただ、背面の色に関わらず透明な様子を表現したかったので、RGB値ではできません。 ご回答ありがとうございました。

関連するQ&A