クラスモジュール:ResultClass
VB
' プロパティの宣言(フィールドの設定)
Private pVal As String
Private pFlag As Boolean
' プロパティ: ゲッター
Public Property Get Value1() As String
Value1 = pVal
End Property
' プロパティ: セッター
Public Property Let Value1(ByVal val As String)
pVal = val
End Property
' プロパティ: ゲッター
Public Property Get Value2() As Boolean
Value2 = pFlag
End Property
' プロパティ: セッター
Public Property Let Value2(ByVal flag As Boolean)
pFlag = flag
End Property‘処理用プロシージャ:zfGetResult
VB
Function zfGetResult() As ResultClass
Dim resObj As ResultClass
Set resObj = New ResultClass
'処理を記述*********
' 今回は値を設定
resObj.Value1 = "Hello, VBA!"
resObj.Value2 = False
' クラスを返す
Set zfGetResult = resObj
End Function実行用プロシージャ:ReturnMultipleValuesテスト
VB
Sub ReturnMultipleValuesテスト()
Dim res As ResultClass
Set res = zfGetResult()
' 戻り値を表示
Debug.Print "Value1: " & res.Value1
Debug.Print "Value2: " & res.Value2
End Sub

コメント