QA@IT
この質問・回答は、@ITの旧掲示板からインポートされたものです。

javascriptとvbscriptの連携について

いつもお世話になっております。

Insider.NETでの質問内容では無いのかもしれませんが、他に見当たらなかったのでこちらで失礼します。

[やりたいこと]
javascriptからvbscriptへ値を渡す

vbscriptで値を受け取った後処理する

vbscriptで導き出された値をjavascriptに戻り値として返す

javascriptでvbscriptから渡された戻り値を受け取る

大変初歩的な内容かもしれませんが、ご教授願えませんでしょうか?
参考URLだけでも結構です。

javascriptから値10を渡す

vbscriptで受け取り、値10に2を足し、javascriptに戻り値を返す

javascriptで戻り値12を受け取る

というサンプル内容で教えていただけませんか?

よろしくお願い致します。

質問者:satoko

回答

深く考える必要はないです。
まずは思ったままコーディングしてみましょうよ。

それでダメであれば、○○○という結果を望んで
△△△とコーディングしたが、×××という結果になり
望んだ結果にするには、どうすれば良いのかを聞くと
すんなり解決出来ると思います。

で、参考URLとして・・・・
解決後もしばらく続いてたみたいで
その中にズバリ答えとなるコードが書かれていました。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=32736&forum=12&start=20

[参考URL修正]
[ メッセージ編集済み 編集者: くまっち 編集日時 2009-02-04 14:55 ]

投稿者:くまっち

編集 履歴 (0)

思いつくままに書いたので間違っているかもしれませんが、あくまで参考と言うレベルで見て頂ければと思います。

①ページロードで値をセット
②実行ボタンでセットした値に1を足した戻り値をalert表示

無題のページ

Function test()
test=document.form1.text1.value+1
end function

</script>

<script type="text/javascript">
    function load(){
            document.form1.Text1.value = 10;
    }

    function modori(){
           var RetObj; 
           RetObj=test();
           alert(RetObj);
    }
</script>

  





[ メッセージ編集済み 編集者: ごん太 編集日時 2009-02-04 15:28 ]

投稿者:ごん太

編集 履歴 (0)

書くだけでなく
実行してみて下さい。
それで判ると思います。

投稿者:あすか

編集 履歴 (0)

あすかさんの書き込み (2009-02-04 15:35) より:

書くだけでなく

実行してみて下さい。

それで判ると思います。

動作確認は先ほど提示したコードで確認していますが、satokoさんが欲している動作と違っているかもと言う意味合いでコメントをさせて頂いたので、文章が足りず申し訳ありません。

投稿者:ごん太

編集 履歴 (0)

皆さんありがとうございます。

書き込みを参考に作ってみました。

------------------------------------------


VBS→JS

Function VbFunc(js)
alert "アラート2 " & "「" & js & "」"
dim vbs
vbs = js + 5
alert "アラート3 " & "「" & vbs & "」"
VbFunc = vbs
End Function

function test()
{
var js = 10;
alert("アラート1 " + "「" + js + "」");
rc = VbFunc(js);
alert("アラート4 " + "「" + rc + "」");
}

アラート1(JSが値10を持つ)
アラート2(VBSに値10が渡る)
アラート3(VBSが値10に値5を足す)
アラート4(JSがVBSから値15を受け取る)


------------------------------------------

受け渡しに成功しました。

どうもありがとうございます^^

投稿者:satoko

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。