VBAには Property Get / Let / Set がある。使ったことのある方はいらっしゃるだろうか?
こんな使い方があるので紹介する。
例えば
などと、固定値をConst値として持つことは簡単である。
しかし、
などというのはエラーになる。しかし、各所でわざわざRGB関数を記述するのも分かりにくい。
こんな場合
という定義もできるが、本来関数的に作るモノではない。
そういう場合
という定義にしておくと違和感は小さくなる。
Property は基本的に Get と Set / Let と対(Property名は同一)で使うか、Getを単独で使うことが想定されている。今回は後者の一例である。
今回の例は本来的な使い方ではないのかもしれないが、こういう事もできる。
こんな使い方があるので紹介する。
例えば
Public Const CL_START_ROW As Long = 6 'データ開始行
などと、固定値をConst値として持つことは簡単である。
しかし、
Public Const CL_COLOR_RED As Long = RGB( 255, 0, 0 ) '赤色
などというのはエラーになる。しかし、各所でわざわざRGB関数を記述するのも分かりにくい。
こんな場合
Public Function CL_COLOR_RED() As Long
CL_COLOR_RED = RGB( 255, 0, 0 ) '赤色
End Function
という定義もできるが、本来関数的に作るモノではない。
そういう場合
Public Property Get CL_COLOR_RED() As Long
CL_COLOR_RED = RGB( 255, 0, 0 ) '赤色
End Property
という定義にしておくと違和感は小さくなる。
Property は基本的に Get と Set / Let と対(Property名は同一)で使うか、Getを単独で使うことが想定されている。今回は後者の一例である。
今回の例は本来的な使い方ではないのかもしれないが、こういう事もできる。