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回を参照)
"フェードアウト"と"フェードイン"の名前をつけてマクロを登録してください。
”フェードアウト”ボタンをクリックすると、スマイルが次第に消えていくとおもいます。つづいて、フェードインボタンをおしておいてください。また見えてきましたか?
今回は以上です。次回は、拡大、縮小を紹介する予定です。
おまけのテク:
同じようなモジュールは、コピーして使いまわしましょう。
そのほうがタイプミスや、欠落がふせげます。
前回に引き続き基本動作のコードを紹介します。
今回は、消滅(フェードアウト)、出現(フェードイン)です。
フェードアウトは、オブジェクトの透明度を増していって見えなくする方法です。
それでは、いつものようにマクロを作成していきましょう。
いったん、”スマイル”の外部をクリックして、まわりのハンドル(白いちいさな丸)をはずしておきます。
”マクロの記録”ボタン(左端)をクリックしてください。
“マクロの記録”ダイヤログボックスのマクロ名欄に“フェードアウト”と入力して「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回を参照)
"フェードアウト"と"フェードイン"の名前をつけてマクロを登録してください。
”フェードアウト”ボタンをクリックすると、スマイルが次第に消えていくとおもいます。つづいて、フェードインボタンをおしておいてください。また見えてきましたか?
今回は以上です。次回は、拡大、縮小を紹介する予定です。
おまけのテク:
同じようなモジュールは、コピーして使いまわしましょう。
そのほうがタイプミスや、欠落がふせげます。