-
-
Save honda0510/1113516 to your computer and use it in GitHub Desktop.
Function UrlEncodeUtf8(str As String) As String | |
Dim script As Object | |
Set script = CreateObject("ScriptControl") | |
script.Language = "Jscript" | |
UrlEncodeUtf8 = script.CodeObject.encodeURIComponent(str) | |
End Function |
コメントありがとうございます!
そういうことがあるんですね。
64bit 環境だと、NG という話がありますね。
この方法だとどうですかね~?
Windows スクリプト コンポーネントをWebにアップして使おう
http://blog.honda0510.dotcloud.com/?p=483
目的が何かによりますね。
encodeURIComponent メソッドの呼び出しが目的なら、それでも良いと思います(し、Web でなくローカルでスクリプト叩いても良いと思います)。
ScriptControl が目的 (=アドホックにスクリプトを実行したい) なら、別方向になると思います。
自分は後者の目的が強いので、スクリプトにインプロセスでオブジェクト(たとえば Worksheet オブジェクトとか)を渡せないと、魅力半減なんですよね…。
ただスクリプトがイントラネット上にあるという形態は、GUI を伴わないアップグレードには便利ですね。
目的が何かによりますね。
あ、64bit 環境で動くか?ということでした。
スクリプトにインプロセスでオブジェクト(たとえば Worksheet オブジェクトとか)を渡せないと、
自分で読み直すと、表現が変でしたね。
メソッドに引数としてオブジェクトを渡すことはできますけど、自分が言いたかったのは、ScriptControl で可能になっている、AddObject によるグローバルな変数展開ができない、という意味です。そういうことしたがる人は、少ないと思いますが。
あ、64bit 環境で動くか?ということでした。
自分も x64 版 Office 持ってないので実地にどうかは分からないんですが、そちらのコードは ScriptControl と関係ないので、WSC の x64 版があれば(ふつうある)理論上動くと思います。
試せる人が報告つけてくれると、いいですね。
AddObject
何ですかこれ?
記事化を期待してもいいですか?(・∀・)ニヤニヤ
試せる人が報告つけてくれると、いいですね。
モーグ!
記事化を期待してもいいですか?(・∀・)ニヤニヤ
x64 版を出さないと M$ が明言した段階で死亡宣告なので、ScriptControl の記事化は基本無いです。
しかし、わずか2ヶ月前にこんな記事を書いている人もいる。
VBAでスクリプトエンジンを直接動かす
面白いですね。
x64 版を出さないと M$ が明言した段階で死亡宣告なので、ScriptControl の記事化は基本無いです。
ざんねーん
コードをコピペしただけじゃ動かないですねw
コードをコピペしただけじゃ動かないですねw
はい。記事末尾に書いてある通り、自分でタイプライブラリ作らないといけないです。
タイプライブラリはふつう MKTYPLIB.EXE で .odl から作りますが、Visual Studio (というか、Visual C++) 持ってないと、このユーティリティは無かったような(元記事執筆者さんの環境は VS 6.0 と思われる。最近の VS には MKTYPLIB.EXE 付いてない模様)。
なので、持ってない人は、誰かが作った tlb を DL して使うことになります。
ま、でも ScriptControl を使えば済む 32bit 版ユーザーにとっては、今のところ関係ない話ですけどね。
あ~もうぜんぜんついていけません。
YU-TANGさんすごいっすね。
お蔭様で、ここでやり取っているうちに、64bit 環境でURLエンコードする別の方法を思いついたので、暇になったら書きます。
(しかし検証ができんな…)
マジッすか。ぜひぜひ。
64bit 環境だと、NG という話がありますね。
Office 2007/2010・リボンのカスタマイズ 初心者備忘録
64bit CPU でも Office 2003 とかだとふつうに動くので、要は WOW64 は OK だけれど 64bit 版の Office 上での実行が NG、という意味なのかな、と思いますが。
ただ IE 経由するのは、回避できても気持ちが悪い…。
そういう人は、下記のような手もアリか?
WSH/JScript(64bit)からScriptControlを使えるように32bit版wshを呼び出す | Codetter(こーどったー)β
微妙ですけど…。