LoginSignup
3
4

More than 5 years have passed since last update.

クラスでレコードイメージを作成する

Last updated at Posted at 2015-06-02

クラスでレコード(bean)イメージを作成する

複数メンバのある構造体(Type)を配列にするのであれば、クラスとコレクションを使ったほうが便利に使えます。
JavaとかC#な方はこちらのほうが馴染みがありますね。
クラスはパブリックな変数にするかプライベート変数をプロパティプロシージャで公開するか好みが出ます。
公開のみとか代入のみとかできるプロパティプロシージャがおすすめですが、コンストラクタがしょぼすぎなので
パブリックな変数でちゃっちゃと作ってしまうものアリだと思います。

※ReadOnlyのプロパティにした場合、通常、別途設定するメソッドなどを作る必要があります。Javaなどではコンストラクタで入れ込むのが普通ですがVBAではあまり。。。ねぇ。

Class1.cls
Option Explicit

'プライベートな変数をプロパティプロシージャで公開するも良し
Private m_name As String

'直接変数を公開するも良し
Public Age As Long

Public Property Get Name() As String
    Name = m_name
End Property

Public Property Let Name(ByVal vNewValue As String)
    m_name = vNewValue
End Property
Module1.bas
<pre>
Attribute VB_Name = "Module1"
Option Explicit

Sub a()

    Dim list As Collection
    Dim c As Class1

    Set list = New Collection

    Set c = New Class1
    c.Name = "ああああ"
    c.Age = 17
    list.Add c
    Set c = Nothing

    Set c = New Class1
    c.Name = "いいいい"
    c.Age = 32
    list.Add c
    Set c = Nothing

    'リストの内容を列挙 
    For Each c In list
        MsgBox c.Name & c.Age
    Next

    Set list = Nothing

End Sub

他のソースをごらんになりたい方はこちらへ
Excelを便利にする250以上の機能を体系化したアドインはこちらです。
「RelaxTools Addin」窓の杜大賞受賞ソフト
http://software.opensquare.net/relaxtools/

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4