VB6.0

VB6.0基礎中の基礎

書き方

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に渡す引数を()で囲まないとコンパイルエラーが起きてしまう。
よって上記のプログラムの流れは

  1. Hello Worldと表示されOK,キャンセルボタンが表示される。
  2. OKの戻り値である定数1、キャンセルの戻り値である定数2がretに格納される。
  3. その戻り値が表示される。

の流れで表示される。

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クラスにすることで、改行として扱うことが出来る。
よって上記コマンドは

あいうえお
かきくけこ

と表示される。