Visual Basic Tips(VB関数)
Format$:日付文字列8桁に"/"(スラッシュ)を挿入
'下のどちらか
Format$("20010501","@@@@/@@/@@")
Format$("20010501","0000/00/00")
Format$:数値データ表示で先頭に空白を付加し桁揃え
Format$(Format$(100,"####0"),"@@@@@")
'(Right$(Space$(5) & Format$(100,"####0"),5)よりはすっきりする)
Format$:日付から週を表す数値に変換(通常は日曜日が1だが)
Format$(Cdate("2001/01/01"),"w",vbMonday)
'この場合は月曜日から1,2,3...としている
Mid$:文字列の一部の置換
'Mid$関数を左辺値に使用する
Mid$(strWork,2,3) = "AAA"
Dir$:ファイルの存在確認
Dir$("C:\TEST.TXT") --> ファイルが存在すれば指定ファイル名を返す
(但しドライブ、ディレクトリのエラーが在ればVBエラーが発生する)
Cint(),Ccur(),CDbl():書式化された数値にはVal関数を使用しない
'Val関数の変わりにCint(),Ccur(),CDbl()等の関数を使用する
strWork = "51,234"
TextBox1.Text = Val(strWork) '-->"51"と 表示される
TextBox1.Text = CDbl(strWork) '-->"51234"と表示される
Cint(),Ccur(),CDbl():16進文字列を数値化する
'文字列の先頭に"&H"を付加して数値化
strWork = "AF"
intWork = CInt("&H" & strWork)
lngWork = Clng("&H" & strWork)
'注意:Cintの場合は4桁を超えるとオーバーフローエラーが発生し、8000~FFFFの間はマイナスの値になる。
Array:配列要素が可変の取り扱い
'バリアント型にArray関数を使用して配列データを設定する
Dim pvntData As Variant
pvntData = Array(1, 5, 9)
Call Test1(pvntData)
pvntData = Array(1, 5)
Call Test1(pvntData)
---------------------------------
Private Sub Test1(ByVal avnt As Variant)
Dim pint As Integer
For pint = 0 To UBound(avnt)
MsgBox "TEST..." & avnt(pint), vbOKOnly, "TEST"
Next pint
End Sub
注意:(VBヘルプより)
Array 関数を使用して作成した配列のインデックスの最小値は、常に 0 です。
ほかの種類の配列とは異なり、Option Base ステートメントに最小値を指定しても
影響を受けません。