- データ型は全てバリアント型
- On Error GoTo は使用できない
As Integerみたいなデータ型定義を付けられないことになる。エラー処理については、ステップ毎にエラーチェックすることになるので、やはり面倒です。エラーチェックを関数にまとめてもステップ毎に洩れなく確認することには変わりないので、あまり複雑な処理を VBScript でやるのは辛いです。VBScript のデータ型
http://msdn.microsoft.com/ja-jp/library/cc392195.aspx
VBScript では、バリアント型 (Variant) と呼ばれるデータ型のみを使用します。
VBScript でのエラー処理
http://msdn.microsoft.com/ja-jp/library/cc407944.aspx
VBScript で On Error GoTo は使用できません。次の例に示すように、その代わりに On Error Resume Next を使用し、その後、Errors コレクションの Err.Number プロパティと Count プロパティの両方を調べます。
VBScript から Microsoft Access へ接続して、SELECT文を実行するサンプルです。
Option Explicit
Function GetNow()
Dim Engine, Database, Recordset
On Error Resume Next
Set Engine = CreateObject("DAO.DBEngine.120")
If Err.Number <> 0 Or Engine.Errors.Count > 0 Then
WScript.Echo Err.Number & vbTab & Err.Source & vbTab & Err.Description
GetNow = False
Exit Function
End If
Set Database = Engine.OpenDatabase("C:\work\SAMPLE1.mdb")
If Err.Number <> 0 Or Engine.Errors.Count > 0 Then
WScript.Echo Err.Number & vbTab & Err.Source & vbTab & Err.Description
GetNow = False
Exit Function
End If
Set Recordset = Database.OpenRecordset("SELECT now") ' システム時刻nowのみ
If Err.Number <> 0 Or Engine.Errors.Count > 0 Then
WScript.Echo Err.Number & vbTab & Err.Source & vbTab & Err.Description
GetNow = False
Exit Function
End If
WScript.Echo Recordset(0)
GetNow = True
End Function
if GetNow then
WScript.Quit(0)
Else
WScript.Echo "異常終了しました。"
WScript.Quit(1)
End If実行方法は、
CScript [File Name].vbs