2009年5月13日水曜日

VBA で文字列の配列の初期化

1. 文字列の配列

VBA で文字列の配列を初期化しようと思い、次のコードを実行した。

dim strAry as String = {"hoge", "piyo", "fuga"}

しかし、エラーが表示された。(@_@;) VB6 ってこういうのできなかったかな?

VB 配列の初期化 によると、

VB6では配列を初期化することはできません。要素ごとに値をセットする必要があります。ただし、固定長の配列は既定値で初期化されています。

ちなみに .NET では上記のように書けるようだ。

仕方がないので、

    Dim strAry(2) As String
    strAry(0) = "hoge"
    strAry(1) = "piyo"
    strAry(2) = "fuga"

しかし、これは面倒だなぁ。。 (+_+)

 

2. split 関数で初期化

VB 文字列操作 に split 関数を使う方法が書かれていた。これを参考にして、

    Dim strAry() As String
    strAry = Split("hoge,piyo,fuga", ",")

こちらの方が楽。 ^^