コード: 全て選択
const k=1
Sub f()
Dim k As Long
End Sub
変数kが宣言されている関数内で、const.kと書かれたときは定数kを参照、特に指示が無い場合はローカル変数を参照。
という方式にすればエラーにならず、且つ両方使用できるので便利だと思います。
同様に、次のようなコード
コード: 全て選択
Dim k As Long
Sub f()
Dim k As Double
End Sub
同様に、次のようなコードが書ければ便利だと考えます。
コード: 全て選択
const k=1
Dim k As Long
Class F
Private
k As Single
Protect
k As Word
Public
k As Byte
Sub F()
End Sub
Sub a()
Dim k As Double,n As Double
n=const.k'定数
n=global.k'グローバル変数
n=this.private.k'内部変数
n=this.protect.k'半保護変数
n=this.public.k'公開変数
n=this.k'内部変数(標準動作)
'内部変数が無い場合は半保護変数、それも無い場合は公開変数を参照する。
n=k'ローカル変数(標準動作)
'ローカル変数が無い場合は内部変数、以下thisの優先度に等しい。
'thisの優先度で判定を行った後公開変数を参照できない場合は、グローバル変数を参照する。グローバル変数が無ければ定数を参照する。
End Sub
End Class