変数 Typeステートメント構造体「ユーザー定義型」

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

Option Explicit

'******************************************
'Typeステートメント構造体「ユーザー定義型」
'******************************************
'Class概念

' 構造体使用例

'Type ステートメント
'1 つまたは複数の要素を持つユーザー定義型を宣言します。
'クラスモジュールで使用する場合はPrivate を付ける必要があります。
'モジュール レベルで使います。

Type UserDefinition
'*****************************************
'ユーザー定義型を作成-Typeステートメント
'*****************************************
'データ型定義のファーマット化

    bytValue    As Byte         'データ型を定義。
    intValue    As Integer
    lngValue    As Long
    dblValue    As Double
    StrValue    As String

End Type


Sub 処理A()
'**********************************************
'ユーザー定義型Typeステートメントを使い値を代入
'**********************************************

    Dim 変数 As UserDefinition  '変数を宣言します。

    'プロシージャ内に記述。
    変数.bytValue = 1           '要素に値を代入。
    変数.intValue = 256
    変数.lngValue = 65536
    変数.dblValue = 123.12
    変数.StrValue = "ABC"
    '~~~~~~~~~~~~
    '~~~~~処理~~~~~
    '~~~~~~~~~~~~
    MsgBox 変数.intValue

End Sub


Sub shoriA()
'**********************************************
'通常のデータ型を定義して値を代入
'**********************************************

Dim Value1 As Byte              'データ型を定義。
Dim Value2 As Integer
Dim Value3 As Long
Dim Value4 As Double
Dim Value5 As String

    Value1 = 1                  '要素に値を代入。
    Value2 = 256
    Value3 = 65536
    Value4 = 123.12
    Value5 = "ABC"
    '~~~~~~~~~~~~
    '~~~~~処理~~~~~
    '~~~~~~~~~~~~
    MsgBox Value2

End Sub

'処理AとshoriAは同じ処理をしています。
'似たような定義が無い場合はどちらを使用しても手間は同じですが
'似たような定義が沢山必要なプロシージャがある場合はTypeステートメントが便利。
'例えば処理Aのような処理が処理BCDE・・・とあるような場合は便利です。

 

 

 

2000年01月01日|[VBサンプルコード]:[変数]