エクセルアニメーション

エクセルでアニメーションを動かして遊びましょう

エクセルアニメーション第13回(応用編5)鯉のぼり

2009-05-03 | Weblog
5月5日はこどもの日。そこで今回は、シーズンにちなんで「鯉のぼり」を泳がせて見ましょう。



マクロは、回転と移動の組み合わせです。ただ、鯉の胴体と尾の位置を細かく調整するのがポイントです。

まず、アニメーションの材料を探してきましょう。インターネット上にも鯉のぼりの素材がたくさんありますので探してみましょう。

今回使用するのは、鯉3匹とオートシェイプです。鯉はイラスト画を使用します。写真を使用すると、鯉のほかの部分を切り抜くのが大変です。イラストを背景なしで保存して使用します。
練習のためなら、このブログのイラストを切り抜いても使用できます。

見つかったら、鯉の胴体と尾の部分を切り離します。絵を参考にしてください。

これには、”ハドコピくん”というフリーソフトが大変便利です。イラストでも、写真でもほしいところを切り取ることができます。使い方も簡単ですから、ぜひ、ダウンロードして利用してみましょう。

切り取る際のポイントは、オブジェクト以外の部分にまったく別の色をつけておくことです。下の絵の中では黄色の部分が切り取りの余白です。

切り取ったらそのまま、エクセル画面に貼り付けましょう。
貼り付けたなら、周囲の黄色い部分を取り除くため、図ツールバーから「透明な色に設定」ボタン(右から2番目)をクリックしてから、取り除く色の部分(この例では黄色い部分ですが、背景に近い単色がベストです)をクリックします。



そうすれば、同色の部分がすべて消えてなくなります。


真鯉胴


真鯉尾
 
  
緋鯉胴

  
緋鯉尾


子供鯉

それぞれの名前を”真鯉胴”、”真鯉尾”、”緋鯉胴”、”緋鯉尾”、”子供鯉”としてください。

これで準備が完了です。

完成図を参考にして配置してください。

矢車は、オートシェイプのフローチャートの”論理和”を使ってみました。
ほんとうの矢車をインターネット条件付き書式から探してきてつけてもいいでしょう。これに”風車”の名前をつけておきます。これは回転します。

ポールは、同じくオートシェイプの”四角形”で細長くして作ります。
引き上げロープはオートシェイプの”線”から”曲線”でカーブをつけながらひきます。
鯉の口からの紐は、”コネクター”から”直線”または、”カギ線コネクター”を使用します。ロープの適当な位置(鯉の近く)に小さな四角(または楕円)をつけておいて、そこから鯉の口へつなぎます。こうすることによって鯉がゆれたときに紐も一緒に動いてくれます。

あとはマクロをつけていきましょう。
同じようなモジュールが繰り返し使われているので、コピーして使うと簡単に入力できます。
下のモジュールをそのまま貼り付けても動きます。
うまくいかないときは、オブジェクトの名前をもう一度確認してみましょう。

Sub 鯉のぼり()
'
' 鯉のぼりMacro
' マクロ記録日 :
'初期値

For n = 1 To 10

'初期値
' '真鯉
ActiveSheet.Shapes("真鯉胴").Select
Selection.ShapeRange.Rotation = 0
Selection.ShapeRange.Left = 150
Selection.ShapeRange.Top = 50

ActiveSheet.Shapes("真鯉尾").Select
Selection.ShapeRange.Rotation = 0
Selection.ShapeRange.Left = 335
Selection.ShapeRange.Top = 45
DoEvents

'緋鯉
ActiveSheet.Shapes("緋鯉胴").Select
Selection.ShapeRange.Rotation = 0
Selection.ShapeRange.Left = 150
Selection.ShapeRange.Top = 130

ActiveSheet.Shapes("緋鯉尾").Select
Selection.ShapeRange.Rotation = 0
Selection.ShapeRange.Left = 335
Selection.ShapeRange.Top = 141
DoEvents

'子鯉
ActiveSheet.Shapes("子供鯉").Select
Selection.ShapeRange.Rotation = 5
Selection.ShapeRange.Left = 150
Selection.ShapeRange.Top = 220

For m = 1 To 12
ActiveSheet.Shapes("真鯉胴").Select
Selection.ShapeRange.IncrementTop 1
Selection.ShapeRange.IncrementRotation 1
ActiveSheet.Shapes("真鯉尾").Select
Selection.ShapeRange.IncrementTop 1
Selection.ShapeRange.IncrementRotation -2
Selection.ShapeRange.IncrementLeft -1
ActiveSheet.Shapes("緋鯉胴").Select
Selection.ShapeRange.IncrementTop 1
Selection.ShapeRange.IncrementRotation 1
Selection.ShapeRange.IncrementLeft 0.1
ActiveSheet.Shapes("緋鯉尾").Select
Selection.ShapeRange.IncrementTop 1
Selection.ShapeRange.IncrementRotation -2
Selection.ShapeRange.IncrementLeft -0.5
DoEvents
ActiveSheet.Shapes("風車").IncrementRotation 15
Next
For i = 1 To 12
ActiveSheet.Shapes("子供鯉").Select
Selection.ShapeRange.IncrementRotation 1
Selection.ShapeRange.IncrementTop 2
ActiveSheet.Shapes("真鯉胴").Select
Selection.ShapeRange.IncrementTop -1
Selection.ShapeRange.IncrementRotation -2
DoEvents
ActiveSheet.Shapes("真鯉尾").Select
Selection.ShapeRange.IncrementTop -2
Selection.ShapeRange.IncrementRotation 3
Selection.ShapeRange.IncrementLeft -0.2
DoEvents
ActiveSheet.Shapes("風車").IncrementRotation 15
Next
For m = 1 To 12
ActiveSheet.Shapes("子供鯉").Select
Selection.ShapeRange.IncrementRotation -1
Selection.ShapeRange.IncrementTop -2
ActiveSheet.Shapes("緋鯉胴").Select
Selection.ShapeRange.IncrementTop -1
Selection.ShapeRange.IncrementRotation -1
Selection.ShapeRange.IncrementLeft -0.1
DoEvents
ActiveSheet.Shapes("緋鯉尾").Select
Selection.ShapeRange.IncrementRotation 2
Selection.ShapeRange.IncrementTop -1
Selection.ShapeRange.IncrementLeft 0.5
DoEvents
ActiveSheet.Shapes("風車").IncrementRotation 15
Next
Next
End Sub


完成図は下のようになります。
動きは、マクロの数値を変えながらいろいろと挑戦してみてください。
また、吹流しなどもつけるとにぎやかになるでしょう。
動かし方はまったく同じです。名前だけ間違わないように注意しましょう。



バックの野原の写真はおなじみのデスクトップの一部分を切り出して使っています。ほかにいい景色(茶畑など)があれば利用してみましょう。

背景を貼り付けると鯉のぼりが消えてしまいますがあわてず、右クリックから”順序”を”最背面”にしましょう。

最後に、画面の右下端に”スタート”と”ストップ”ボタンをつけましょう。
ボタンのつけ方は、”アクロバット飛行”編を参考にしてください。

田舎ののどかな五月の節句を演出できたでしょうか。

エクセルアニメーション 鯉のぼり