非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

VBAでオブジェクト指向プログラミング

      2016/06/11

広告

 
JavaやC#ほど使い勝手がいいわけではありませんが、VBAもオブジェクト指向プログラミングが可能です。

まずは、VBAエディタで[挿入]-[クラスモジュール]を選択すると、クラスエディタが現れます。ここでクラス名を変え方が良いでしょう。デフォルトは「Class1」という名前になっていますが、機能がわかるように命名してください。今回は「TestClass」という名前に変えました。

わかりやすくシンプルなコードを紹介。JavaかC#を触ったことがあればだいたいわかるかと思います。これでジェネリックコレクションが使えれば最高なんですが・・・。

【クラス側のコード】

Private 名前 As String
Private 年齢 As Integer

Public Function setting(name, age)
名前 = name
年齢 = age
End Function

Public Function getName()
getName = 名前
End Function

Public Function getAge()
getAge = 年齢
End Function

【モジュール側のコード】

Sub テスト()
Dim 太郎 As TestClass
Set 太郎 = New TestClass
太郎.setting “山田太郎”, 22 ‘引数はカッコで括らない。

MsgBox (太郎.getName)
MsgBox (太郎.getAge)
End Sub

 

 

 - Excel, VBA