VBA

【VBAから.NETFramework(Array List)を使う】

.NETFrameworkとは

.NET Frameworkとは、が開発・提供している、WebサービスおよびWebアプリケーションのための実行環境の名称です。

たとえば、.NET Frameworkには「System.Collections名前空間のArrayListクラス」というクラスがあります。

ArrayListクラスに関する詳細は、MSDNの下記ページをご覧ください。

■ArrayList クラス (System.Collections)

このArrayListクラスを使って、配列を操作してみましょう。次のコードは、.NET FrameworkのArrayListクラスを利用して、ランダムな数値を配列に格納します。さらに、配列のソートや複製の作成、配列の逆順などを行います。

Sub ArrayListSample()
    Dim DataList, myData, i As Long, buf As String
    Set DataList = CreateObject("System.Collections.ArrayList")     ''.NET Frameworkへの参照
    For i = 1 To 5
        DataList.Add Int(Rnd() * 10000)     ''5個の乱数を配列にセットする
    Next i
    DataList.Sort                   ''配列をソートする
    Set myData = DataList.Clone     ''配列の複製を作る
    For i = 0 To myData.Count - 1
        buf = buf & myData(i) & vbCrLf
    Next i
    buf = buf & "------" & vbCrLf
    DataList.Reverse                ''配列を逆順にする
    For i = 0 To DataList.Count - 1
        buf = buf & DataList(i) & vbCrLf
    Next i
    MsgBox buf
    Set myData = Nothing
    Set DataList = Nothing
End Sub

.NetFrameworkが使えるといっても全ての機能を使用できるわけではないので注意して下さい。

Windows10の場合プログラムと機能の有効化を開き、.NetFramework3.5を有効にする必要がありますので、注意が必要です。

通常のVBAの配列よりも、便利な使い方が出来るので是非使ってみて下さい!!