重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

VBA初心者です。
趣味でMicrosoftExcel2003のVBAをやっていたのですが、Excel2007でVBAのコードの動作確認をした際に、ワードアートの単色塗りつぶしの透過性を変更するコードが使えませんでした。
Excel2003では
Activesheet.Shapes(図形の名前).Fill.Transparency = 値
で出来たのですが、2007では「ワードアートが入っている図形」の塗りつぶしに反映されてしまいます。
また、2007ではマクロの記録を使ってもワードアート等の設定が記録されないので、困っています。

そこで質問です。
Excel2007で、ワードアートの塗りつぶしが単色の場合の『塗りつぶしの透過性』をVBAで設定する場合のコードを教えてください。
ご存知の方、どうか回答を宜しくお願い致します。

A 回答 (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
    • good
    • 2
この回答へのお礼

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

お礼日時:2008/12/29 12:01

文面からは解りずらいのですが、文字の部分のTransparencyの設定ができない、ということでしょうか?


手動操作の中では、それらしいものは見つからないです。サポートされていないのではないでしょうか。
Excel2003では、文字の部分にTransparencyが間違いなく設定されていたのでしょうか。

次善の策として、Characters.Font.ColorのRGB値を操作する程度では駄目でしょうか。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/12/29 11:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!