LoginSignup
9
10

More than 5 years have passed since last update.

VB6.0基礎中の基礎

Last updated at Posted at 2017-07-06

書き方

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

あいうえお
かきくけこ

と表示される。

9
10
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10