エクセルアニメーション

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

エクセルアニメーション第10回(応用編2)アクロバット飛行

2008-12-29 | Weblog

今回は、回転を利用して”アクロバット飛行”をつくってみましょう。



使用する用語は、Rotation です。それと、前回の移動を組み合わせて画面の中でアクロバット飛行を楽しみましょう。

まず、材料を挿入します。


”図形描画”ツールバーの”楕円”を選択してB5セルからG26セルまでの円を描きます(Shiftキーを押しながらドラッグすると、真円がかけます。)
(ツールバーが出ていないときは、[表示]-[ツールバー]-[図形描画]をチェック)

つぎに、[挿入]-[図]-[クリップアート]から”飛行機”(下図参照)を検索して挿入してください。


下の図を参照して、挿入した飛行機の大きさ(小さくします)、位置(円の下端)を調整します。


挿入された飛行機は左を向いていますので、右向きに変えましょう。
飛行機を選択しておいて、図形描画ツールバーの”図形の調整”から”回転/反転”をクリックして”左右反転”をクリックします。飛行機の方向が右向きに変わります。

飛行機を選択した状態で、Shiftキーを押しながら円内でクリックします。飛行機と円が同時に選択されたこと(どちらにもハンドルが付いている)を確認して右クリックから[グループ化]-[グループ化]をクリックします。
これで、円と飛行機が一体となります。

引き続き円内を右クリックして”オブジェクトの書式設定”をクリックします。
ダイヤログボックス内の”色と線”タブをクリックしておいて、”塗りつぶしなし””線なし”に設定します。「OK」すると、円が消えて飛行機だけが残るようになります。



それでは、マクロを作成しましょう。

いったん飛行機(円も)以外のセルをクリックして選択を解除しておきます。

第1回に作成したマクロツールの中の”新しいマクロの記録”ボタンをクリックします。
マクロ名には、”アクロバット”と記入してマクロ操作を開始します。

まず、飛行機をクリックします。大きな四角にハンドルが付いたと思います。
上端にある緑の回転つまみをクリック(円が点線で表示されます)して左へ少しまわします。角度は適宜でいいです。

これで、”記録終了”ボタンを押します。

それでは、マクロの修正をしましょう。
マクロツールから、”Visual Basic Editor”ボタンをクリックします。(または、Alt+F11)
左のペーンの”標準モジュール”の”Module1”をダブルクリックします。

つぎのようなモジュールができていると思います。
もし、余分な行がついている場合は削除してください。

Sub アクロバット()
' アクロバット Macro
' マクロ記録日 : ユーザー名 :
ActiveSheet.Shapes("Group 3").Select
Selection.ShapeRange.IncrementRotation -13.3
End Sub

そのモジュールを、次のように修正しましょう。日本語の部分は必要ありません。
(書く場合は、”’”をつけないとエラーになります)

Sub アクロバット()
' アクロバット Macro
' マクロ記録日 : ユーザー名 :
ActiveSheet.Shapes("Group 3").Select '飛行機を選択
Selection.ShapeRange.Rotation = 0 '回転角度を0に設定
Selection.ShapeRange.left = 1 '画面左端に配置
For n = 1 To 720 '720回繰り返し
Selection.ShapeRange.IncrementRotation -1 '1度ずつ半時計周りに回転
  Selection.ShapeRange.IncrementLeft 0.3 '0.3ピクセルずつ右へ移動
DoEvents
Next
Cells(1, 1).Select 'A1セルを選択して終了
End Sub

では、最後に、前回と同じくマクロボタンを作成します。

[表示]-[ツールバー]-[フォーム]から、”ボタン”をクリックしてA1セルをクリックします。ボタンがつきましたか。

出てきたダイヤログボックスの”アクロバット”をクリックします。
そのままボタンの中をクリックして”ボタン1”を消して”開始”に変更しましょう。

おっと、忘れるところでした。
このマクロは、スタートするととめることができないので(できないことはないけど・・・)”停止”ボタンを作っておきましょう。
これは、マクロを直接書く場合に必要ですから覚えておきましょう。

まず、”Visual Vasic Editor”を開きます。(マクロツールバーの右端のボタン)


出てきた画面で[挿入]-[標準モジュール]をクリックして次のコードを記入します。

sub MyEnd
end

これで次のようになります。



Visual Basic Editor を終了してエクセル画面に戻ります。
ひきつづき、[表示]-[ツールバー]-[フォーム]から、”ボタン”をクリックしてからA3セルをクリックします。

出てきたダイヤログボックスの”MyEnd”をクリックします。
そのままボタンの中をクリックして”ボタン2”を消して”停止”に変更しましょう。
このボタンをクリックすることで、いつでも途中でとめることができます。

飛行機の回転速度は、オブジェクトの大きさ(と、パソコンの処理能力)に関係しますから、あまり大きな円にすると遅くなります。

”開始”ボタンをクリックするとアクロバットが始まります。



バックに手持ちの大空の写真などを挿入する(写真の中で右クリックして、[順序]-[最背面]に設定します)と迫力のあるアクロバット飛行が楽しめます。

公開ソフト
http://yahoo.jp/box/q10_m3


さて、次回は?  お楽しみに・・・


エクセルアニメーション第9回(応用編1)電車

2008-12-10 | Weblog

今回から、これまで紹介してきた基本マクロを使いながら、アニメーションの初歩を紹介していきます。
基本さえ覚えれば、あとはそれらを組み合わせて、自分のアイディアで楽しいアニメの世界が無限大に広がります。
わたしは、テレビのCM画面などをみて、これはどうすればつくるれるか、と、いつも考えているとアイディアが沸いてきます。そして、それにトライして少しずついろいろな場面を蓄積しております。
また、インターネット上にも使える素材がいっぱいありますから、ふだんから少しずつ取り込んでおくと(著作権に注意)便利です。

この応用編では、基本のモジュールを省略することがありますので、そのときは前回までのところを参考にしてトライしてください。

今回は、"電車の移動"をやってみましょう。




オブジェクト(動かすもの)は、電車です。
エクセル画面で[挿入]-[図]-[クリップアート]として、「電車」で検索してください。
インターネットに接続できない場合は、自分で絵を書くか、適当な写真を挿入してください。



(オブジェクトの名前の変更)
挿入ができたならば、”名前ボックス(エクセル画面の左上)”をクリックすると”Picture 1(または、図1)"が青色反転しますので、「電車」と入力しエンターして変更しておいてください。



電車の外のセルをクリックしてハンドル(周りの白い丸)をはずしておきます。

それではマクロを作成しましょう。

第2回の動作の基本(移動)を参照して、「新しいマクロの記録」ボタンをクリックします。


ダイヤログボックスで、”マクロ名”欄に「電車」と記入してOKします。
”電車”をクリックしてB列(1セル右)まで移動させます。それだけで”記録終了”ボタンをクリックします。


それでは、出来上がったモジュールを見てみましょう。

(モジュールの見方)
VBEボタンまたは、”Alt + F11” で、Visual Basic Editor を開きます。
左のペーンの”標準モジュール”の「+」をクリックして、”Module1”をダブルクリックするとモジュールが現れます。(”標準モジュール”がでていない場合は、「表示」メニューの「プロジェクトエクスプローラ」をクリックしてください。)

下のようになっていると思います。余分な行が記録されている場合は削除してください。(数値(50,95)は関係ありません) 

Sub 電車1()
'
' 電車 Macro ' マクロ記録日 : ユーザー名 :
'
ActiveSheet.Shapes("電車").Select
Selection.ShapeRange.IncrementLeft 50.95
End Sub

これでマクロが記録されました。このマクロを元に、あとは下記のように修正、加除していきましょう。

Sub 電車()
電車 Macro ' マクロ記録日 : ユーザー名 :
ActiveSheet.Shapes("電車").Select
Selection.ShapeRange.Left = 1
For n = 1 To 500
Selection.ShapeRange.IncrementLeft 1
DoEvents
Next
End Sub

同じようなコードは、コピー&ペーストを活用しましょう。

出来上がったら、エクセル画面に戻ってボタンをつくりましょう。

第7回(画面切り替え)を参照して”フォームツールバー”からボタンをクリックし、A15セルに貼り付け(クリック)します。
マクロの登録で「電車」を選んでクリックします。

これでひとまず完成です。

今作ったボタンをクリックしてみましょう。これで、電車が左から右方向へ移動します。

移動量は、マクロ内の "For n = 1 To 500" の数値(500)で決まります。この数値をを変更してみてください。大きくするとさらに右へ動きます。少なくすると、早く止まることになります。ためしてみましょう。

つづいて、右へ行った電車を元の位置へ戻してみましょう。   

For n = 1 To 500
Selection.ShapeRange.IncrementLeft 1
DoEvents
Next
  
の下(End Sub との間)に、つぎのモジュールを付け加えます。(上のコードをコピーして、一部修正します)よくみて、間違いのないようにしてください。

For n = 1 To 500
Selection.ShapeRange.IncrementLeft -1
DoEvents
Next

こんどは、右へ行った電車が、また、左の端に戻ってきたでしょう。

出来上がったら、クリップアートの”山”を検索して背景に挿入してみましょう。電車が消えたと思います。心配ありません。
山の画面内を右クリックして”順序”を”最背面”に設定します。

さきほど作成したボタンを右クリックして適当な場所へ移動させておきましょう。

これが完成図です。参考にしてください。



公開ソフト
http://yahoo.jp/box/Zr0w74

さて、次回は???