●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

VBのプロシージャ(Sub)について

Visual Basic(VB)における プロシージャ(Sub) とは、1つの処理のまとまりを定義するための構文です。Subプロシージャは戻り値を返さないメソッドであり、メッセージの表示やファイル出力など、結果を返す必要のない処理に適しています。

Subプロシージャの基本構文

Sub プロシージャ名()
    ' 処理内容
End Sub

例:

Sub ShowMessage()
    MsgBox "こんにちは!"
End Sub

呼び出し方法:

ShowMessage()

引数付きSubプロシージャ

Subには引数(パラメータ)を指定して、呼び出し元から値を受け取ることができます。

Sub Greet(name As String)
    MsgBox "こんにちは、" & name & "さん!"
End Sub

Greet("佐藤")

複数の引数を使う

引数はカンマで区切って複数指定できます。

Sub ShowProduct(name As String, price As Integer)
    MsgBox name & ":" & price & "円"
End Sub

ShowProduct("ノートパソコン", 120000)

ByVal と ByRef

引数は ByVal(値渡し)と ByRef(参照渡し)を使い分けることができます。ByValは変数のコピー、ByRefは元の値を変更できます。

Sub DoubleValue(ByRef num As Integer)
    num = num * 2
End Sub

Dim value As Integer = 10
DoubleValue(value)
MsgBox value  ' 結果:20

Functionとの違い

項目 Sub(プロシージャ) Function(関数)
戻り値 なし あり(Return文)
使用目的 処理のみ実行 処理結果を返す
呼び出し結果 値は返されない 結果を変数に代入できる

クラス内でのSubの利用

Public Class Person
    Public Name As String

    Public Sub SayHello()
        MsgBox("こんにちは、" & Name & "です。")
    End Sub
End Class

Dim p As New Person
p.Name = "田中"
p.SayHello()

まとめ

Subプロシージャは、処理をまとめて再利用したいときや、プログラムの構造を整理したいときに非常に役立ちます。戻り値が必要ない処理はSubにまとめておくことで、コードの可読性とメンテナンス性が向上します。Functionとの違いを意識しながら、適材適所で使い分けましょう。

 

VB関連用語集

−−−−−  VB  −−−−−

VBの変数について

VBの定数(Constant)について

VBのデータ型(Data Type)について

VBの文字列(String)について

VBの整数型(Integer)について

VBの浮動小数点数型(Double / Single)について

VBの論理型(Boolean)について

VBの配列(Array)について

VBの構造体(Structure)について

VBのクラス(Class)について

VBのメソッド(Method)について

VBの関数(Function)について

VBのプロシージャ(Sub)について

VBのイベント(Event)について

VBのイベントハンドラ(Event Handler)について

VBのフォーム(Form)について

VBのコントロール(Control)について

VBのボタン(Button)について

VBのテキストボックス(TextBox)について

VBのラベル(Label)について

VBのプロパティ(Property)について

VBのIf文(If Statement)について

VBのSelect Case文について

VBのFor文(For Loop)について

VBのDo While文(Do Loop)について

VBのエラーハンドリング(Error Handling)について

VBのTry...Catch構文について

VBのInputBox関数について

VBのImportsステートメントについて