WSHマクロにおいてScriptControlを使用することで 各種スクリプトを混在で利用できます。
Script Control - Microsoft Scripting Technologies//JScriptからVBSのInputBox関数を実行 var oSC = new ActiveXObject("ScriptControl"); oSC.Language = "VBScript"; var sFunc = 'Function InBox(prompt, title, default)\n'; sFunc += ' InBox = InputBox(prompt, title, default)\n'; sFunc += 'End Function\n'; oSC.AddCode(sFunc); var Ret = oSC.Run ("InBox", "メッセージ", "タイトル", "初期値"); InsText(Ret);
'VBScriptからJscriptのsplit関数を実行 Dim sCode, oSC, sFileName sCode = "GetFileNameFromFulPath=function(sBuf) {aRet=sBuf.split('\\');return aRet[aRet.length-1];}" Set oSC = CreateObject("ScriptControl") oSC.Language = "JScript" oSC.AddCode(sCode) sFileName = oSC.Run("GetFileNameFromFulPath", "c:\winnt\notepad.exe") Set oSC = Nothing InsText(sFileName)
# http://miau.s9.xrea.com/blog/index.php?itemid=397 sub InputBox { my @args = @_; @args = map { encode('cp932', $_) } @args; while (@args < 3) { push @args, ''; } my $sc = Win32::OLE->CreateObject("ScriptControl"); $sc->{Language} = "VBScript"; $sc->AddCode(<<EOC); Function Main(prompt, title, default) Main = InputBox(prompt, title, default) End Function EOC my $ret = $sc->Run("Main", @args); $ret = decode('cp932', $ret); return $ret; }