月によってラベルの背景色を自動的に変更する
 フォームに配置されたラベルの背景色を、その月によって
自動的に変更する方法を紹介します。

 ここでは背景色を変更しますが、応用で、その他のプロパティを
変更したり、月単位ではなく、時間単位で変更することも可能です。

 また、ラベル以外ののコントロールやフォーム自体のプロパティに
対しても応用できますので、月によって、あるいは日によって
書式や内容を変更する必要のなる場合は、いくつものフォームを
用意する手間を省くことができるでしょう。

●操作手順●

 背景色は、偶数月は青、奇数月は緑に変更します。

(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   明るい白

Access2000



戻る


Excel Word Access VBA! モーグ