// JScript から VBScript を実行
var objSC = new ActiveXObject('ScriptControl');
objSC.Language = 'VBScript';
strFnc = 'Function get_date() get_date = Replace(Date, "/", "") End Function';
objSC.AddCode(strFnc);
strFnc = 'Function fnc_input(prompt, title, default) fnc_input = InputBox(prompt, title, default) End Function';
objSC.AddCode(strFnc);
d = objSC.Run('get_date');
d = objSC.Run('fnc_input', 'YYYYMMDD 形式で入力してください。', '日付チェック', d);
WScript.Echo(IsDate(d));
WScript.Quit();
// 日付チェック
function IsDate(str) {
dtmYYYY = str.substr(0,4);
dtmMM = str.substr(4,2) - 1; // JScript は月を 0-11 で表現
dtmDD = str.substr(6,2);
var dtmDATE = new Date(dtmYYYY, dtmMM, dtmDD);
if (isNaN(dtmDATE)) {
result= false;
} else if (dtmDATE.getFullYear() == dtmYYYY && dtmDATE.getMonth() == dtmMM && dtmDATE.getDate() == dtmDD) {
result= true;
} else {
result= false;
}
if (dtmMM < 9) {dtmMM = '0' + (dtmMM + 1)} else {dtmMM = dtmMM + 1};
a = '入力値 : ' + dtmYYYY + '/' + dtmMM + '/' + dtmDD;
a += '\n日付チェック : ' + result;
return a;
}
|