かっきぃーの雑記帳

おもしろき こともなき世を おもしろく

作りながら学ぶ!エクセルVBAマクロ超入門(4) 魅惑のユーザーフォーム!アラーム鳴動マシーンをつくる。

エクセルVBAマクロ超入門の作りながら学ぶシリーズ第4弾のテーマは

「直感的な入力操作が可能になるユーザーフォーム」

テキストボックスやコマンドボタンなどを自由に配置し、視認性・操作性に優れた表示機能「ユーザーフォーム」を使って、決まった時間に音声ファイルを繰り返し再生するアラーム鳴動マシーンを作りました。

あー、それ作ってみたかったやつー!

魅惑のユーザーフォーム!

スポンサーリンク

 

 

ユーザーフォームの基本デザイン

エクセルVBA ユーザーフォームデザイン

ユーザーフォームデザイン

今回つくったユーザーフォームの基本デザインはこちら。

ユーザーフォームにそれぞれのツールを配置していき、機能を与えていきます。そのあと、アラーム音声を再生するコア・マクロを作り、統合していく流れで作っていきました。 

 

アラーム鳴動マシーンをつくるプロセス

アラーム鳴動マシーンをつくっていく様子を動画にまとめましたので、のちほど紹介しますが、ここではその流れを紹介します。

タイムラインは動画の概要欄にありますので、興味あるところだけでも見ていただければと思います。

1.ユーザーフォームの基本デザインをつくる

  • 新規ユーザーフォームの挿入(UserForm)
  • コマンドボタンの配置(CommandButton)
  • ラベルの配置(Label)
  • テキストボックス・スピンボタンの配置(TextBox、SpinButton)
  • トグルボタンの配置(ToggleButton)
  • エクセルシートからユーザーフォームを呼び出す

2.ユーザーフォームの処理マクロをつくる

  • コマンドボタンの処理(CommandButton)
  • ラベルの処理(Label)

「ユーザーフォームが実行されたときに処理をするマクロ(UserForm_Activate)」「リアルタイムに表示が変化するラベル(Do While Loopステートメント/DoEvents関数)」ということもやっています!

  • ユーザーフォームの初期設定(UserForm_Initialize)
  • スピンボタンの処理(SpinButton)
  • テキストボックスの入力制限(TextBox)
  • トグルボタンの処理(ToggleButton)

3.設定時刻になったらアラーム音を鳴らす

  • 音声ファイルの再生(PlaySound関数)
  • 音声ファイルの停止(PlaySound関数)
  • 設定時刻になったらアラームを鳴らす♪
  • グローバル変数の定義(Public)
  • 条件によって表示/非表示が変わるコマンドボタンを仕込む(CommandButton)

条件によって表示/非表示が変わるってところ好きです。

 

アラーム鳴動マシーンを作り上げていく動画コンテンツ


www.youtube.com

 

見て真似るだけで作れます。まずは真似て作ってみて、ひととおり作ってみたらオリジナルの機能を盛り込んでみるのがおススメです。

二度寝するので、スヌーズ機能が欲しいなあ。

気分に応じて、アラームのメロディを選択したい!

とりあえず、 エクセルVBAマクロ超入門「作りながら学ぶ!シリーズ」はこの辺で一区切り。講義形式でひとつひとつ学んでいくなら、次の関連記事を読んでいただくのもよいかと思います。

 

 

スポンサーリンク