2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
無料ブログはココログ

« VBScriptやVBAからJScriptのArrayオブジェクトのインデックスアクセス(その2) | トップページ | VBScriptやVBAの配列に不定数の要素を追加するには? »

2008年5月17日 (土)

VBScriptやVBAからJScriptのArrayオブジェクトのインデックスアクセス(その3)

ラッパ関数を介して、インデックスアクセスするのが、お勧めです。

Set sc=CreateObject("ScriptControl")
sc.Language="JScript"
sc.AddCode "function set(a,k,v){a[k]=v;}function get(a,k){return a[k];}"

参照は、
  x=a[k]
の代わりに、
  x=sc.CodeObject.get(a,k)
または、
  x=sc.Run("get",a,k)

設定は、
  a[k]=x
の代わりに、
  call sc.CodeObject.set(a,k,x)
または、
  call sc.Run("set",a,k,x)

性能は、o(n)なので、n=a.length が大きくても、使えます。

また、Run()よりCodeObjectのほうが速くてよいでしょう。

« VBScriptやVBAからJScriptのArrayオブジェクトのインデックスアクセス(その2) | トップページ | VBScriptやVBAの配列に不定数の要素を追加するには? »