VBScriptのReplace関数を使いたいNo.07177
Yoshi0815 さん 12/12/09 17:35
 
VBScriptのReplace関数を使いたいのですが、以下のように
すると callmethod_returnstr が失敗してしまいます。

##scriptControl = createobject("ScriptControl");
setpropstr ##scriptControl, "Language", "VBScript";
$$ret = callmethod_returnstr(##scriptControl, "Replace", "ABC", "A", "Z");
message $$ret;

おかしい箇所がありましたらお教えいただけると助かります。
また、もっとスマートにVBScriptのReplace関数のようなものを
使う方法があれば、そちらもお教えください。

よろしくお願いします。

[ ]
RE:07177 VBScriptのReplace関数を使いたNo.07178
h-tom さん 12/12/09 19:05
 

h-tom です。

>おかしい箇所がありましたらお教えいただけると助かります。
スクリプトコントロールオブジェクトには、"Replace"メソッドはありませんよ。
 Using ScriptControl Methods
 http://msdn.microsoft.com/en-us/library/aa227637(v=vs.60).aspx

>また、もっとスマートにVBScriptのReplace関数のようなものを
>使う方法があれば、そちらもお教えください。
既存のマクロ関数を使ってサブルーチンを作るか、各種拡張用DLLの関数を
使ってみてはどうですか。
文字列置換:田楽dll、ht_tools.dll
正規表現が有効な文字列置換:hmjre.dll、macrodll.dll

[ ]
RE:07178 VBScriptのReplace関数を使いたNo.07179
Yoshi0815 さん 12/12/09 23:16
 
>スクリプトコントロールオブジェクトには、"Replace"メソッドはありませんよ。
> Using ScriptControl Methods
> http://msdn.microsoft.com/en-us/library/aa227637(v=vs.60).aspx
なるほど。何でも呼び出せる訳じゃないんですね。

>既存のマクロ関数を使ってサブルーチンを作るか、各種拡張用DLLの関数を
>使ってみてはどうですか。
>文字列置換:田楽dll、ht_tools.dll
>正規表現が有効な文字列置換:hmjre.dll、macrodll.dll
hmjre.dll の正規表現文字列置換関数で解決しました。

h-tomさん、的確なレスいただけて助かりました。ありがとうございました。

[ ]
RE:07179 VBScriptのReplace関数を使いたNo.07180
h-tom さん 12/12/10 06:34
 

h-tom です。

>なるほど。何でも呼び出せる訳じゃないんですね。
呼び出せますよ。
今回の様な例では、Eval メソッドを使います。

[ ]