2009-06-23 29 views
1

上記の正しい用語があるかわかりませんが、Excelファイルからパラメータを渡すJavascript関数を呼び出しています関数が実行され、次のテキストボックスに項目がリストされ、そのテキストボックス内の正しい項目を選択できるようになり、最後のボックスが選択されます。私はそれに変数を入れていない場合はここでExcel VBAを使用してJavascript関数に可変パラメータを渡す方法

は、私が持っているコード、作品は、次のとおりです。 Call .Document.parentWindow.execScript("FillVendorNames('MyText')", "javascript") 私が代わりに「のMyText」の中で任意の変数に入れた場合、私は、実行時エラーが出ます: Call .Document.parentWindow.execScript("FillVendorNames(cCode)", "javascript") Call .Document.parentWindow.execScript("FillVendorNames(.document.all.ComCode)", "javascript") 変数はコード内で先に宣言されていますが、値がimmediatesウィンドウを使用して正しいかどうかを確認できますが、すべて正しいですが、実行時エラーが発生します。

私がしようとしているのは、元のドロップダウンリストで選択したオプションに基づいて、ドロップダウンリストを自動入力する既存の関数を使用することです。 最初のドロップダウンでMyTextを選択した場合、FillVendorNamesは次のドロップダウンにベンダーのリストを表示し、選択することができます。 次の関数で次の選択肢を入力すると3番目のオプションが選択されますが、これは2番目のドロップダウンリストを作成する最初の関数に基づいています。 最初のリストはページ上でオートロードされていますが、2番目のリストはないので、そこからオプションを選択することはできません。 誰でも助けてくれますか?おかげさまで

+0

私たちはつもりだと思うあなたが何をしようとしてのビットより多くの情報が必要。どのような変数がFillVendorNamesに渡していますか? Excelファイルはどこにありますか?私はVBAからJavascriptを実行したことはありません。あなたのシステムはどのようにセットアップされていますか? – CoderDennis

+0

こんにちはデニス、 ページには多くのコードがありますが、私はあまりにも多くのことを明らかにしたいとは思いません。 ExcelファイルがMy Docsにあります。私がFillVendorNamesに渡している変数は、Excel(X、2)を使ってexcelファイルから取得し、送信する適切な変数を選択します。 あなたが参照しているセットアップがわかりませんか? (このものの初心者のビット)。 テキストだけで 'Mytext'を入力すると関数は正確に機能しますが、変数を使用しようとすると機能しません。 – DOS

+0

OK、Javascriptが表示されたら、あなたはWebページで作業していると思います。それは事実ですか? Javascriptの機能は何ですか? Webページにドロップダウンリストが表示されていますか? – CoderDennis

答えて

1

二つの可能な問題:

  • VBAは、文字列の中にそれらの値を持つ変数名を置き換えることはありません

例:

Dim x as String 
x = "Hello world!" 

Msgbox x 
// shows "Hello world!" 

Msgbox "x" 
// shows "x" 
  • Callが必要とされることはありません(あなたのために代わりにかっこを省略することができます)、問題を引き起こす可能性があります

例:

Call Msgbox("x") 
// is almost exactly the same as 
Msgbox "x" 

ちょうど使用:

With foo 
    // do stuff 
    .Document.parentWindow.execScript "FillVendorNames(" & cCode & ")", "javascript" 
    // do more stuff 
End With 
+0

ありがとうBarrowc。 上記の最後の例を使用しましたが、それは完全に機能します。 彼が助けてくれてありがとう – DOS

関連する問題