配列は定数にはならない
配列を定数にすることはできるのか
配列は定数にできるのだろうか。
やってみた
標準モジュールの宣言セクションに、次のように書いてみた。
リスト1 標準モジュールの宣言セクション
Option Explicit Private Const CONST_ARRAY As Variant = Array("アホ", "バカ", "カス")
見てのとおり、Variant
型の変数CONST_ARRAY
に、Array
関数を用いて配列を作成し、ぶち込むようにしてみた。
使ってみる
さっそく、次のコードで使用実験。
リスト2 標準モジュール
Public Sub testConstantArray() Dim i As Long For i = LBound(CONST_ARRAY) To UBound(CONST_ARRAY) Debug.Print CONST_ARRAY(i) Next End Sub
何のひねりもないコード。
定数CONST_ARRAY
に配列がぶち込まれていたら、イミディエイトにその要素が順に表示されるはず。
実行
あえなくエラーwww
おわりに
配列を定数にするのは無理っぽい。
次回は、Property
と列挙体を併用して、配列定数っぽいことを実現してみる。