Created
July 29, 2011 09:32
-
-
Save honda0510/1113516 to your computer and use it in GitHub Desktop.
VBAでURLエンコード
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
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エンコードする別の方法を思いついたので、暇になったら書きます。
(しかし検証ができんな…)
マジッすか。ぜひぜひ。
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
自分で読み直すと、表現が変でしたね。
メソッドに引数としてオブジェクトを渡すことはできますけど、自分が言いたかったのは、ScriptControl で可能になっている、AddObject によるグローバルな変数展開ができない、という意味です。そういうことしたがる人は、少ないと思いますが。
自分も x64 版 Office 持ってないので実地にどうかは分からないんですが、そちらのコードは ScriptControl と関係ないので、WSC の x64 版があれば(ふつうある)理論上動くと思います。
試せる人が報告つけてくれると、いいですね。