Option Explicit '扶養家族クラス 'プロパティは、メンバー以外アクセスできない 'プロパティの実体 Private mvntData() As Variant 'データ Private mlngPID As Long '主キー Private mlngFID As Long '外部キー Private mstrName As String '個人給与計算システム Private mintSex As Integer '性別;「0」男:「1」女 Private mdatDate As Date '生年月日 'プロパティの設定(配列) Public Sub LetProperty(ByVal objws As Worksheet, ByVal lngRow As Long, ParamArray vntArray() As Variant) '引数[objWS]:ワークシート '引数[lngRow];レコード '引数[vntArray]:データ ReDim Preserve mvntData(4) As Variant '配列再定義 '受け取ったデータをメンバー配列に格納 mlngPID = CLng(vntArray(0)) mlngFID = CLng(vntArray(1)) mstrName = CStr(vntArray(2)) mintSex = CInt(vntArray(3)) mdatDate = CDate(vntArray(4)) '配列に格納 Call NewProperty 'ワークシートへ書き出し Call LetData(objws, lngRow) End Sub 'プロパティの値の取得(外部公開) Public Sub GetProperty(ByVal objws As Worksheet, ByVal lngRow As Long, ParamArray vntArray() As Variant) '引数[objWS]:ワークシート '引数[lngRow]:レコード '引数[vntArray]:データ Dim i As Integer '長整数型カウンタ 'ワークシートの値の取得 Call GetData(objws, lngRow) '外部に公開 For i = 0 To 4 vntArray(i) = mvntData(i) Next End Sub 'プロパティの値の書き出し(配列) Public Sub NewProperty() Dim i As Integer '整数型カウンタ ReDim Preserve mvntData(4) As Variant '配列再定義 mvntData(0) = mlngPID mvntData(1) = mlngFID mvntData(2) = mstrName mvntData(3) = mintSex mvntData(4) = mdatDate End Sub 'ワークシートの値を取得 Private Sub GetData(ByVal objws As Worksheet, ByVal lngRow As Long) '引数[objWS]:ワークシート '引数[lngRow]:レコード Dim i As Integer '整数型カウンタ ReDim Preserve mvntData(4) As Variant '配列再定義 For i = 0 To 4 mvntData(i) = objws.Cells(lngRow, i + 1).Value Next End Sub 'ワークシートへ書き出し Public Sub LetData(ByVal objws As Worksheet, ByVal lngRow As Long) '引数[objWS]:ワークシート '引数[lngRow]:レコード Dim i As Integer '整数型カウンタ ReDim Preserve mvntData(4) As Variant '配列再定義 'ワークシートへ書き出し For i = 0 To 4 objws.Cells(lngRow, i + 1).Value = mvntData(i) Next If IsEmpty(mvntData) = True Then Erase mvntData End Sub 'クラスをメモリから開放 Private Sub Class_Terminate() If IsEmpty(mvntData) = True Then Erase mvntData End Sub