猫とコード

化学メーカーでweb開発している猫大好きエンジニアの備忘録です。

VBSCRIPT基本構文

忘れまくるので忘備録

IF

いつもElseIfの書き方忘れる

If 条件 Then

ElseIf 条件

Else

End If

RecordSetEOFと併せて使うDo Until

Do Until recordSetObj.EOF

    recordSetObj.MoveNext
Loop

配列(ArryaListクラスではない)と併せて使うFor

For i=0 To UBound(list)

Next

ArrayListでAddしたのちに配列に変換する

Set arraylist = CreateObject("System.Collections.ArrayList")
str = recordSetObj("name") ' 変数に格納しないとRecordsetのポインタ格納されるため
arraylist.Add str
list = arraylist.ToArray()

CASE文

Select Case string
    Case "a"   (処理)
    Case "b"   (処理)
    Case Else   (処理)
End Select

Defaultに当たるのがCase Else。 End Selectはほんとに忘れる。 この手の全部End ~にしてほしかったし、 何ならEND入れなくてもよくしてほしかった。

Replaceで大文字小文字を区別せずに変換する

SQLインジェクション対策で使った。update、UPDATE,Update,upDate.. 大文字小文字を正規表現まで使わなくて変換可能なので楽なのでは。

引数:対象String,変換元ワード、変換後ワード、1文字目から対象に変換(1)、変換個数指定なし(-1)、大文字小文字を区別しない(1)

after = Replace(before,"update","",1,-1,1)

エラーを無視して続ける

SQL文発行をエラー無視にすると問合せしつづけるようで 重くなるので注意です。

On Error Resume Next

(処理)

If Err.Number <> 0 Then
    Response.Write(Err.Description)
End If

ファイル・フォルダの有無の確認

23/07/18追記 FileSystemObjectについて

Set fso = CreateObject("Scripting.FileSystemObject")

FilderPath = "D:\folder"
FilePath = "D:\folder\file.png"

' 該当Fileが"存在する"かチェック
If fso.FileExists(FilePath) Then
 ' ファイルが存在する時の処理
End If

' 該当Folderが"存在しない"かチェック
' 存在しない場合,同名の新規フォルダを作成する
if NOT fso.FolderExists(FilderPath) Then 
  fso.CreateFolder(FilderPath)
End If

ファイルの削除の確認

fso.DeleteFile FilePath

Base64バイナリで受け取ったファイルをStreamで画像として保存する

長くなったので別記事にしました