最終更新日 :
VB Tips

このネタ、今になって書くようなことじゃないけど...。
プロパティプロシージャで取得関数にPublic、設定関数にFriendを設定すると、プロジェクト内部からは設定可能で外部からは設定不可能になるプロパティが作成できる。

例 :
Public Property Get Index() As Long

End Property

Friend Property Let Index(ByVal NewVal As Long)

End Property

これでActiveXDLLなどを作ると、外部からは取得専用、内部で設定可能なプロパティが出来上がる。
まあ、Friend Sub SetIndex(ByVal NewVal As Long)っていう関数を作る方法が大部分だけど。
続・このネタ、今になって書くようなことじゃないけど...。

標準モジュールでもプロパティプロシージャを使用することによって変数っぽい関数ができる。
例:
' 取得専用の変数みたいなもの(関数っぽい変数)
Public Property Get Sum() As Long
Sum = A + B + C + D
End Property

' 代入時に長さ判定機能が付いた変数
Public Property Let Name(ByVal NewVal As String)
If Len(NewVal) <= 40 Then m_Name = NewVal
End Property

' いつもなら変数にストックしておくアプリケーションパス
Public Property Get AppPath() As String
AppPath = App.Path & IIf(Right$(App.Path, 1) <> "\", "\", "")
End Property

Copyright (C) 1999 Satoshi Tadaフィードバックはこちら
Home