2017-02-08 6 views
1

私はVBAで作業しています。 JS配列をVBA配列に変換したい。私はほとんどそこにいる。私はArray: "Classarray"を満たしています!しかし、私はそれをVBA配列に変換する関数を呼び出すことに問題があります。私が使用する機能はここにある:JS配列をVBA配列に変換します。配列を呼び出す方法

Dim SortedArray As Variant 
Dim jsObj As New ScriptControl 
jsObj.Language = "JScript"  
With jsObj 
    .AddCode _ 
    "var classArray = new Array();" & ArrayString & _ 
    "function setArray(ja) {" & _ 
    "var dict = new ActiveXObject('Scripting.Dictionary');" & _ 
    "for (var i=0;i < ja.length; i++)dict.add(i,ja[i]);" & _ 
    "return dict.items();}" 
    SortedArray = .Run("setArray", classArray) 
End With 

問題はラインである「SortedArray = .RUN(」はsetArrayエラー「classArray)私はエラーを持っている。」:5007 『な長さ』オブジェクトはnullかではありません『空」のデバッグモードではポイントがclassarrayにそれが表示されたとき』、そうではありません!添付の.jpgを参照してください。あなたは私が.RUN機能??おかげでworng何をやっているを教えてもらえ。

enter image description here

+2

プロパティは 'llght'ではなく' length'なので –

+0

あなたは 'Run()'関数を表示していないので、何が間違っているか教えてください。 –

+0

。RunはjsObjのメソッドです。 –

答えて

0

私はそれを解決しました。機能では、私は "classarray"で "ja"を置き換えました。私は自分で答えた質問を投稿するために、私は一日中解決しようとしました とにかく誰かがこのコードを自分の目的に使用することがあります。

+0

あなた自身の質問に答えを投稿しないでください。元の質問を編集し、「更新」セクションを追加するだけです。 –

関連する問題