インストール
ダウンロード後解凍して下さい。下記7つのクラスモジュールがインポート済みのエクセルブックが出てきます。
- ArrayCls
- Utilities
- Util_Array
- Util_Change
- Util_Exists
- Util_Operator
- Util_Search
- Util_Sort
サンプルコードを動かす
ダウンロードしたエクセルブックには、サンプルコードが付いています。"sample"モジュールをプロジェクトウィンドウで確認しましょう。
コードを実行し、イミディエイトウィンドウで実行結果を確認してみて下さい。
基本的な使い方
createArray() または Factories.createArray() でインスタンスを生成します。引数には任意の数の配列要素を渡して初期化することができます。
Dim myArray as ArrayCls Set myArray = createArray(elm1, elm2, elm3...)または、直接 New することもできます。
この場合は空の配列が生成されます。
Dim myArray as New ArrayCls
プロパティとメソッド一覧
配列の内容を操作するメソッド(clear, concat, deleteAt 等)は全て破壊的メソッドです。clear()
配列をクリアして空にします。自身を返します。
concat(array)
配列同士を連結します。自身を返します。
Set myArray = createArray(0, 1, 2) myArray.concat Array(3, 4) ' Variant型配列を連結します。 Debug.Print myArray.to_s ' 0, 1, 2, 3, 4 myArray.concat myArray ' ArrayCls型配列も連結できます。 Debug.Print myArray.to_s ' 0, 1, 2, 3, 4, 0, 1, 2, 3, 4
deleteAt(pos)
指定した位置の要素を削除して返します。entity プロパティ
ArrayClsの実体となるVariant型配列の取得・設定を行います。Set myArray = createArray(0, 1, 2) vArray = myArray.entity ' [0, 1, 2] のVariant型配列 myArray.entity = Array(3, 4, 5) Debug.Print myArray.to_s ' 3, 4, 5
index(value)
valueと等価な要素のインデックスを返します。比較はUtilities.opr.equals()メソッドで行います。
items(pos) プロパティ
指定したポジションの値の取得・設定を行います。join(delimiter)
要素の間に delimiter を挿入した文字列を返します。delimiter を省略した場合は", "が挿入されます。
オブジェクトは数→文字列→型名の優先順位で変換を試してから出力します。
ただし、配列はJavaScript風のリテラル文字列に変換されて出力されます。
Set myArray = createArray(0, Application, Array(0, 1, 2)) Debug.Print myArray.join ' 0, Microsoft Excel, [0,1,2] Debug.Print myArray.join("__") ' 0__Microsoft Excel__[0,1,2]
length プロパティ
配列の長さを返します。読み取り専用です。
pop()
配列の末尾から要素を取り除きます。push(value)
配列の末尾に要素を付加します。複数の要素を付加する場合は concat を使用して下さい。
自身を返します。
renew(elm1, elm2, elm3, ...)
任意の数の引数を受け取って配列の内容を置き換えます。自身を返します。
Set myArray = createArray(0, 1, 2) Debug.Print myArray.to_s ' 0, 1, 2 Debug.Print myArray.renew(3, 4, 5).to_s ' 3, 4, 5
reverse()
配列を降順に並べ替えます。オブジェクトは数→文字列→型名の優先順位で変換を試した後、比較されます。
ただし、配列はJavaScript風のリテラル文字列に変換された後比較されます。
自身を返します。
Set myArray = createArray(0, "one", Application, Array(0, 1, 2)) Debug.Print myArray.to_s ' 0, one, Microsoft Excel, [0,1,2] Debug.Print myArray.reverse.to_s ' one, [0,1,2], Microsoft Excel, 0
shift()
配列の先頭の要素を取り除いて返します。slice(pos, pos_or_len, len?)
部分配列を取出します。第1引数には開始位置を、第2引数には終了位置または長さを指定します。
第2引数が長さの場合は第3引数に True を渡して下さい。
Set myArray = createArray(0, 1, 2, 3, 4, 5) Debug.Print myArray.slice(2, 3).to_s ' 2, 3 Debug.Print myArray.slice(2, 3, True).to_s ' 2, 3, 4
sort()
配列を昇順に並べ替えます。オブジェクトは数→文字列→型名の優先順位で変換を試した後、比較されます。
ただし、配列はJavaScript風のリテラル文字列に変換された後比較されます。自身を返します。
to_s(delimiter)
join と同じです。unshift(elm)
配列の先頭に要素を付加します。自身を返します。
0 件のコメント:
コメントを投稿