VBScript から JavaScript (JScript) の関数を呼び出す

どんな時に使うの?

たとえば、URLリンクを作成したい時に、日本語のままだとリンクにならず、URLエンコードしたい時があります。

つまり、「モーニング娘。」のままではなく、「%E3%83%A2%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E5%A8%98%E3%80%82」のように変換したい時です。

VBScriptでは組み込み関数がないけど、JavaScriptなら関数があるencodeURIを使えると簡単にできてしまうというケースですね。

WSFファイルにしてVBScriptからJavaScript(JScript)の関数を呼び出す

64ビットWindowsでも使えるもっとも簡単な方法は、WSF(Windows Script File)にして、VBScriptからJavaScript(JScript)の関数を使ってしまうというものです。

たとえばこんな風にします。(拡張子.wsf、たとえばtest.wsfで保存してください)

<job>
<script Language="JavaScript"></script>
<script Language="VBScript">
  MsgBox encodeURI("モーニング娘")
</script>
</job>

このように、WSFファイルを使うと、2つ以上のスクリプトを共存させることができます。
ActivePython を インストールすれば、Python を使った関数を VBScript から呼び出すことができるようになります。
(これで Tweet することも可能になります)

ちなみに、32ビットパソコンなら「ScriptControl」を使って、VBScript の中から JavaScript の関数を呼び出すことができ、その方法を紹介しているブログ等もあるわけですが、64ビットパソコンでは一応できないので、上の方法を使った方がいいかと思います。

タイトルとURLをコピーしました