| | タイトル | : Re: ArrayListの定義 |  | 記事No | : 15727 |  | 投稿日 | : 2013/06/29(Sat) 17:25 |  | 投稿者 | : 魔界の仮面弁士 | 
 > ArrayListの配列をはじめて使いますが、VB6 に ArrayList は存在しません。
 (VB.NET には ArrayList がありますが、配列ではありません)
 
 VB.NET の ArrayList に近い物としては、VBA.Collection オブジェクトがあります。
 ソートなどが必要なケースでは、ADODB.Recordset で代用する手法もありますね。
 
 とりあえず、VBA.Collection を用いたサンプル:
 
 Dim col As VBA.Collection
 Set col = New VBA.Collection
 
 col.Add "Item1"
 col.Add "Item2"
 col.Add "Item3"
 
 Debug.Print "件数:", col.Count
 Debug.Print "1番目:", col(1)
 Debug.Print "2番目:", col(2)
 Debug.Print "3番目:", col(3)
 
 Debug.Print "2番目を削除"
 col.Remove 2
 
 Debug.Print "件数:", col.Count
 Debug.Print "1番目:", col(1)
 Debug.Print "2番目:", col(2)
 
 
 もし、Collection や Dictionary などの機能ではどうしても都合が悪いのであれば、
 下記の様にして、.NET の ArrayList を呼び出すこともできます。
 (個人的にはあまりお奨めしません)
 
 Dim ar As Object
 Set ar = CreateObject("System.Collections.ArrayList")
 
 ar.Add "Item1"
 ar.Add "Item2"
 ar.Add "Item3"
 
 Debug.Print "件数:", ar.Count
 Debug.Print "0番目:", ar(0)
 Debug.Print "1番目:", ar(1)
 Debug.Print "2番目:", ar(2)
 
 Debug.Print "1番目を削除"
 ar.Remove 1
 
 Debug.Print "件数:", ar.Count
 Debug.Print "0番目:", ar(0)
 Debug.Print "1番目:", ar(1)
 
 |