VBAでの構造体(ユーザー定義型)

1.異なるデータ型の変数をひとまとめに出来る
2.配列化も可能
3.引数として渡す場合 リードオンリーにすることが簡単


Public Type pInfo
 name As String
 age As Integer
 job As String
End Type

Option Explicit の直下が一般的だけど、プロシージャ内も可能
Private か  Publicの使用でスコープの変更も可
APIを使えば一気に初期化出来るらしい
というのは、初期化する場面が無いので方法は記憶に無い。

Dim Asan As pInfo

一般的な変数と同じで、引数や戻り値には同じ構造体が必要なだけで、
as Variant でコピーとかできないけど、使用感は列挙体に近い。

出番があるかと言われると無い、複数の引数を引き取る場合は
ParamArray Values() As Variant を定義しちゃう事が多い 引数の不定に対して強いし、変数を多量に使うなら、クラスオブジェクトにすることが多い。

数百件の構造体を配列で使うのはさすがに 軽い・簡単・早い と言われても厳しい。
内製プログラマの経験では、APIが要求するとき以外は使わない印象 これが捗るのは、プロジェクトのような複数人で組む時かな?


いいなと思ったら応援しよう!