Contents
できなくはない。
まずは基底クラスをつくりましょう。
インタフェースはVBAには存在しないので、それっぽくクラスをつくります。
Public Sub Test()
Call Err.Raise(999, , "このクラスのメソッドは直接呼ぶことはできません。")
End Sub
サブクラスをつくりましょう。
SubClassA
Implements ISample
Public Sub ISample_Test()
Debug.Print "サブクラスA"
End Sub
SubClassB
Implements ISample
Public Sub ISample_Test()
Debug.Print "サブクラスB"
End Sub
呼び出し側
Dim target As ISample
Set target = New SubClassA
Call target.Test
Set target = New SubClassB
Call target.Test
実行結果は、当然ながら、イミディエイトウィンドウに下記が出力されます。
サブクラスA
サブクラスB
要するに、Implements 親クラスを1行書いて、後は親クラス名_親クラスの関数名を実装すればそれっぽいものが出来上がります。
他にもニッチなIT関連要素をまとめていますので、よければ一覧記事もご覧ください。