.NET Frameworkを使う


私は勘違いをしていました。いえ、確かな根拠を調べずに「できないに違いない」と思いこんでいたのかもしれません。

今までずっと、VBAから.NET Frameworkを使うことはできないと思っていたのですが、実はできたんですね。知りませんでした。

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

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

■ArrayList クラス (System.Collections)

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

Sub Sample1()
    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

言うまでもありませんが、.NET Frameworkを使うには.NET Frameworkがインストールされていなければなりません。

また、.NET Frameworkの全ての機能を使えるわけではないようです。