flg = true のときは、Aという変数は clsTrue型
flg = false のときは、Aという変数は clsFalse型
同じ、変数名を、 flgの値によって型を変えたいのですが 出来ますか?
Aという変数をObject型で定義して、
条件によって、型変換すればいいのでは
型の名前を見る限りクラス(のインスタンス)っぽいから
Aにオブジェクト参照を設定する形でなら可能かと思う
例えば…
Dim ATrue As New clsTrue
Dim AFalse As New clsFlse
Dim A As Variant
Set A = IIf(flg, ATrue, AFalse)
みたいな感じかな、やったことは無いけど
(Newが使えるかどうか等は適宜調整を)
たとえば
'IBoolean クラス -- マーカインタフェイス
Option Explicit
Public Function getValue() As Boolean: End Function
'clsTrue クラス
implements IBoolean
Private Function IBoolean_getValue() As Boolean
IBoolean_getValue = True
End Function
'clsFalse クラス
implements IBoolean
Private Function IBoolean_getValue() As Boolean
IBoolean_getValue = False
End Function
'アプリケーションエントリポイント
Dim cls As IBoolean
If MsgBox("はい=true いいえ=false", vbYesNo) = vbYes Then
Set cls = New clsTrue
Else
Set cls = New clsFalse
End If
MsgBox "clsの値=" & cls.getValue()
の様にしてしまうとか