goo blog サービス終了のお知らせ 

エクセルアニメーション

エクセルVBAでアニメーションを作成する講座

エクセルアニメーション第4回(動作の基本(消滅、出現-1))

2013-07-10 06:50:42 | エクセルアニメーション
2008-09-13

前回に引き続き基本動作のコードを紹介します。

今回は、消滅(フェードアウト)、出現(フェードイン)です。
フェードアウトは、オブジェクトの透明度を増していって見えなくする方法です。

それでは、いつものようにマクロを作成していきましょう。
いったん、”スマイル”の外部をクリックして、まわりのハンドル(白いちいさな丸)をはずしておきます。

”マクロの記録”ボタン(左端)をクリックしてください。
“マクロの記録”ダイヤログボックスのマクロ名欄に“フェードアウト”と入力して「OK」します。(前回参照)



これからマクロの記録の開始です。

“スマイル”を右クリックして、オートシェイプの書式設定をクリックします。



オートシェイプの書式設定ダイヤログボックスで、“色と線”タブの“塗りつぶし”の透明のスライダーを一番右まで移動させます。”スマイル”の色が、ベージュから白(透明)に変わります。

「OK」して、”マクロの記録終了”ボタンをクリックします。

つぎのようなモジュールが組まれたと思います。

Sub フェードアウト()
' フェードアウト Macro
' マクロ記録日 : ユーザー名 :

ActiveSheet.Shapes("AutoShape 1").Select
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.Solid
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 47
Selection.ShapeRange.Fill.Transparency = 1#
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Transparency = 0#

Selection.ShapeRange.Line.Visible = msoFalse
End Sub

しかし、必要なコードは赤字の行だけです。
ほかの行は削除してください。

残ったのは次のとおりです。

Sub フェードアウト()
ActiveSheet.Shapes("AutoShape 1").Select
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Line.Transparency = 0#
End Sub

これを次のように、追加、修正してください。
Sub フェードアウト()
ActiveSheet.Shapes("AutoShape 1").Select ‘・・・・・オブジェクトを選択
For n = 0 To 1 Step 0.001 ‘・・・・・この数値(0.001)を大きくすると消滅が早くなります
   Selection.ShapeRange.Fill.Transparency = n ’・・・・・オブジェクトの中を透明にします
   Selection.ShapeRange.Line.Transparency = n ‘・・・・・オブジェクトの周りの線を透明にします
   DoEvents ’・・・・・これを忘れると瞬時に消滅してしまいます
Next
End Sub

‘見えないままでは困るので、再度見えるように(フェードイン)も作成しておきます。

コードは、上のものをコピーして、赤字の部分だけ修正します。
Sub フェードイン()
ActiveSheet.Shapes("AutoShape 1").Select
For n = 1 To 0 Step -0.001           ‘・・・・・この数値(-0.001)を大きくすると出現が早くなります
   Selection.ShapeRange.Fill.Transparency = n
   Selection.ShapeRange.Line.Transparency = n
   DoEvents
Next
End Sub

これでマクロは出来上がったので、マクロボタンをつけましょう。
今回も2個作成します。(第3回を参照)
"フェードアウト"と"フェードイン"の名前をつけてマクロを登録してください。

”フェードアウト”ボタンをクリックすると、スマイルが次第に消えていくとおもいます。つづいて、フェードインボタンをおしておいてください。また見えてきましたか?

今回は以上です。次回は、拡大、縮小を紹介する予定です。

おまけのテク:
   同じようなモジュールは、コピーして使いまわしましょう。
   そのほうがタイプミスや、欠落がふせげます。









最新の画像もっと見る