即効テクニック |
フォームに配置されたラベルの背景色を、その月によって自動的に変更する方法を紹介します。 ここでは背景色を変更しますが、応用で、その他のプロパティを変更したり、月単位ではなく、時間単位で変更することも可能です。 また、ラベル以外ののコントロールやフォーム自体のプロパティに対しても応用できますので、月によって、あるいは日によって書式や内容を変更する必要のなる場合は、いくつものフォームを用意する手間も省けるのではないでしょうか? ●操作手順● 背景色は、偶数月は青、奇数月は緑に変更します。 (1)フォームを新規作成して、デザインビューで表示します。 (2)ラベルを配置してプロパティシートを表示します。 (3)次のプロパティを設定します。 ・[書式]タブの[背景スタイル]を「普通」にする ・[その他]タブの[名前]を「ラベル0」にする (4)フォームのプロパティシートを表示して[イベント]タブの [開く時]にイベントプロシージャを設定します。 (5)コード表示ボタン[...]をクリックして、次のコードを記入します。 Private Sub Form_Open(Cancel As Integer) If Month(Now) Mod 2 = 0 Then '背景色を青にする ラベル0.BackColor = QBColor(1) Else '背景色を緑にする ラベル0.BackColor = QBColor(2) End If End Sub (6)フォームを保存してから開くと、偶数月の場合はラベルの 背景色が青、奇数月の場合は緑に表示されます。 ●補足● <Month関数> 1年の何月かを表す0〜12の範囲の整数を表すバリアント型の値を返します。 構文は、「Month(date)」です。引数dateは必ず指定し、日付を表すバリアント型の値、数式、文字列式、またはこれらを組み合わせた値を指定します。 引数dateが有効な値を含まない場合は、Null値を返します。 <Now関数> コンピュータのシステムの日付と時刻の設定に基づいて、現在の日付と時刻を表すバリアント型の値を返します。 <Mod演算子> 2つの数値の除算を行い、その剰余を返します。 構文は、「result = number1 Mod number2」です。 resultは任意の数値変数を必ず指定します。number1、number2は任意の数式を必ず指定します。 <QBColor関数> 指定した色番号に対応するRGBコードを表す長整数型(Long)の値を返す関数です。 構文は、「QBColor(color)」で、引数colorには、0〜15の範囲の整数を指定します。設定値は次のとおりです。 番号 色 ------------------------------ 0 黒 1 青 2 緑 3 シアン 4 赤 5 マゼンタ 6 黄 7 白 8 灰色 9 明るい青 10 明るい緑 11 明るいシアン 12 明るい赤 13 明るいマゼンタ 14 明るい黄 15 明るい白