MW211 EXIT

devlog
ExcelVBA/Type(2)
2017年12月13日
Type(構造体)は配列化できる。
┌─────┬────────────────────────────────┐
│Typeの定義│Type 構造体                                                     │
│          │    列1          As Long                                        │
│          │    列2          As String                                      │
│          │End Type                                                        │
├─────┼────────────────────────────────┤
│Typeの使用│Dim 配列構造体インスタンス(1 To 3) As 構造体                    │
│          │構造体インスタンス(1).列1 = 0;                                  │
│          │MsgBox 構造体インスタンス(1).列1                                │
└─────┴────────────────────────────────┘
もちろん動的配列もOK。

構造体の入れ子もできる。(サブ側を先に宣言しないとエラーとなるので注意)
┌─────┬────────────────────────────────┐
│Typeの定義│Type サブ構造体                                                 │
│          │    副列1        As Long                                        │
│          │    副列2        As String                                      │
│          │End Type                                                        │
│          │Type 構造体                                                     │
│          │    列1          As Long                                        │
│          │    列2          As String                                      │
│          │    列3          As サブ構造体                                  │
│          │End Type                                                        │
└─────┴────────────────────────────────┘
さらには動的配列にもできる。
┌─────┬────────────────────────────────┐
│Typeの定義│Type サブ構造体                                                 │
│          │    副列1        As Long                                        │
│          │    副列2        As String                                      │
│          │End Type                                                        │
│          │Type 構造体                                                     │
│          │    列1          As Long                                        │
│          │    列2          As String                                      │
│          │    列3()        As サブ構造体                                  │
│          │End Type                                                        │
└─────┴────────────────────────────────┘
分類:ExcelVBA