ソースは以下
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
<job> | |
<script language=VBScript> | |
Sub vbMsgbox(msg) : msgbox(msg) : End Sub | |
a = 1 | |
</script> | |
<script language=JScript> | |
WScript.Echo(a) | |
vbMsgbox(2) | |
// 以下はエラーになる「オブジェクトでサポートされていないプロパティまたはメソッドです」 | |
// WScript.Echo(vbMsgbox) | |
vbMsgbox(function(a,b){ return a+b }) | |
vbs=function(){ | |
var sc=new ActiveXObject('ScriptControl') | |
sc.Language = 'VBScript' | |
sc.AddCode('Function GetTypeName(obj) : GetTypeName = TypeName(obj) : End Function') | |
sc.AddCode('Sub vbMsgBox(str) : msgbox(str) : End Sub') | |
sc.AddCode('b = 3') | |
sc.AddCode('Sub vbMsgBoxB() : msgbox(b) : End Sub') | |
return { | |
sc:sc, | |
GetTypeName:function(obj){ return sc.Run('GetTypeName', obj) }, | |
msgbox:function(str){sc.Run('msgbox', str)}, | |
vbmb:function(str){sc.Run('vbMsgbox', str)}, | |
vbMB:function(str){sc.Run('vbMsgBox', str)}, | |
vbMB_b:function(str){sc.Run('vbMsgBoxB')} | |
} | |
}() | |
// 表示内容「ScriptControl」 | |
WScript.Echo(vbs.GetTypeName(vbs.sc)) | |
// 以下はエラーになる→msgboxメソッド内で「オブジェクトでサポートされていないプロパティまたはメソッドです」 | |
// vbs.msgbox(123) | |
// 以下もエラーになる→vbmbメソッド内で「オブジェクトでサポートされていないプロパティまたはメソッドです」 | |
// vbs.vbmb(123) | |
vbs.vbMB(123) | |
// 表示内容「IXMLHTTPRequest」 | |
WScript.Echo(vbs.GetTypeName(new ActiveXObject("Microsoft.XMLHTTP"))) | |
// http://dara-j.asablo.jp/blog/2007/05/08/1494362 | |
// 以下はエラーになる「'b'は宣言されていません。」 | |
// WScript.Echo(b) | |
// 表示内容「3」 | |
vbs.vbMB_b() | |
// 以下はエラーになる「この変数に割り当てられません。」 | |
// vbMsgbox = 'aaa' | |
</script> | |
</job> |
0 件のコメント:
コメントを投稿