書き方
Private Sub Form_Load()
MsgBox "Hello World"
End Sub
Private Sub ~ End Subまでが肩書き
Form_Loadが名称
()が伝言を意味する。
フォームイベント
イベント | 処理内容 |
---|---|
Activate | フォームがアクティブになったときに行う処理を記述 |
Click | フォームの内側をクリックしたときに行う処理 |
DblClick | フォームの内側をダブルクリックしたときに行う処理 |
Deactivate | フォームがアクティブでなくなったときに行う処理 |
initialize | 一番最初に行う処理 |
Load | フォームを開く直前に行う処理 |
Resize | フォームのサイズが変わったときに行う処理 |
Unload | フォームを閉じる直前に行う処理 |
ret
Private Sub Form_Load()
ret = MsgBox ("Hello World",vbOkCancel)
msgbox ret
End Sub
retは戻り値を受け取る命令語
またMsgBoxに渡す引数を()で囲まないとコンパイルエラーが起きてしまう。
よって上記のプログラムの流れは
- Hello Worldと表示されOK,キャンセルボタンが表示される。
- OKの戻り値である定数1、キャンセルの戻り値である定数2がretに格納される。
- その戻り値が表示される。
の流れで表示される。
Input Box
入力ボックスを作成するときに使用する。
またInput Boxはmsg box
と同様に 戻り値を返すタイプの関数 であるためret
を使用する。
ret = Input Box ("ここに文字を入力してください。")
Label1.Caption = ret
CaptionはLabelコントロールに表示する文字そのものを指定するプロパティのこと。
よって入力した値がLabel1に反映される。
Dim
複数の戻り値を受け取る場合に初めに変数を宣言する。
Option Explicit
Private Sub Form_Load()
Dim ret1
Dim ret2
ret1 = InputBox(" ここに値を入力してください ")
ret2 = InputBox(" ここに値を入力してください ")
Label.Caption = ret1 + ret2
End Sub
Option Explicit
は変数宣言を必ずやることを明示している。
またForm_Loadプロシージャの外側に位置することで、全体に有効となる。
上記のコードは2回の入力値を連結させLabelに表示させる。
ここで注意しなければならない事はデータ型のデフォルトがString型となっているため
Dim ret As integer
のようにAs
を用いてデータ型を指定することを行う。
また短縮も可能となっており
Dim ret%
のように記述しても上記と同じ意味になる。
他のデータ型も短縮が可能なものがあり、型宣言文字一覧を以下の表で表す。
データ型 | 機能 | 型宣言文字 |
---|---|---|
String | 文字列型 | $ |
integer | 整数型 | % |
Long | 長整数型 | & |
Single | 単精度浮動小数点型 | ! |
Double | 倍精度浮動小数点型 | # |
Currency | 通貨型 | @ |
IsNumeric
この関数は数値かどうかの判定をする関数であり、
数値であればtrue、数値以外であればfolseが返ってくる。
Dim ret1%
Dim ret2$
ret1 = 1
ret2 = 1
IsNumeric(ret1) #true
IsNumeric(ret2) #folse
改行
MsgBox("あいうえお"+Chr(13)+"かきくけこ")
改行は 13 という値を持っている。
Chr関数より周りの文字列と同等のStringクラスにすることで、改行として扱うことが出来る。
よって上記コマンドは
あいうえお
かきくけこ
と表示される。