とある日、パソコン教室を営む友人から、「今度イベントで使うから、エクセルでルーレット作って」と頼まれました。
「え?エクセルじゃないとダメなの?ネット上にhtmlベースのものがいっぱいありそうだけど・・・」の疑問がありましたが、「パソコン教室として、”エクセルでこんなことも出来るんだよ”というところを見せたい」とのことだったので引き受けてみました。
実際作ってみて、学びが多かったので備忘録、共有のために記載したいと思います。
エクセルマクロでルーレットを作る上で検討しなければならないこと
作成にとりかかるうえで、まず浮かんだ疑問は下記。
・ ルーレットの盤面はどうやって表現するか
・ 動作はどんな感じにするのか
・ 確率はいくつ?
・ 音は出すの?というか、出せるの?
これらを一つひとつ友人に確認しながら&WEBを参考にしながらクリアにしていきました。
ルーレット盤面はどう表現するか
ルーレットのイメージというとこんな感じかと思います。
これをどうやってエクセルで表現するか、、、悩みます。
「オートシェイプとか、WEBから素材をダウンロードして使うか」
「グラフとかでもできそう」
と考えていたのですが、「セルの条件付き書式」を使ってもできそうだと考えつきました!
これなら”エクセルならでは”かつ”実現できそう”ということで「条件付き書式」を使うことに決定しました。
動作はどんな感じにするのか
動作としてすぐ思いついたのは2種類。
ー スタートとストップについて
・ スタートを押して自動で止まる
・ スタートを押してストップも押す
ー 止まる時の動作
・ スピードダウンしていくのか
・ ストップの指示後、数個で止まるのか
友人のイメージでは「お客さんに操作してもらいたい」思いが強いとのことで
「ストップを押してもらう」に決定。
止まる時の動作は、友人的にはスピードダウンのイメージしかなかったようなので
「スピードダウンしていく」に決定。
確率はいくつにするか
確率については友人も悩んでいたようなので、エクセルのワークシート上で操作出来るようにすることにしました。
音は出すの?というか、出せるの?
なんとなくではありますが、「エクセルマクロでも音の操作とかはできそうだよな」とは思っていたものの、本当に出来るかどうかはネットで検索。
結論として、「音は出せる」です。
しかしながら、ループ処理などで連続で音を出すとなると、動きが早すぎて最後の1回しか鳴らない(聞こえない)という現象があるとのこと。
これには注意が必要です。waitメソッドを使用していったん音がなるまでマクロの動きを抑えなければなりません。音がなるかどうかの秒数は実際に作る段階で調整が必要です。
おおかたの疑問は解消。
これでおおかたの疑問は解消された。これからは実際の作成に入るわけですが、その前にもう一つ準備があります。素材です。
ルーレット用の素材を集める
集める素材は画像と音の2種類です。
ー 画像は、下記画像が必要
・ スタートボタン、ストップボタンの画像
・ キャラクター(通常時、アタリ時、ハズレ時)
ー 音としては下記の音が必要
・ 数字選択時
・ ルーレット回っている時
・ アタリ時
・ ハズレ時
これらがあればできそうですね。
下準備はここまで。実際に作るステップについては次のページにて書いていきます。