「Visual Basic 6の基礎 - 関数」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == <br><br> == 基本構文 == <syntaxhighlight lang="vb"> ' 関数 [Private|Public] Function <関数名>([<引数> As <型>, ...]) [As <戻り値の型>] ' 処理 関数名 = 戻り値 '戻り値の設定 End Function ' サブルーチン [Private|Public] Sub <サブルーチン名>([<引数> As <型>, ...]) ' 処理 ' ...略 End Sub </syntaxhighlight> <br><br> == プロパティ== <syntaxhighlight lang="vb"> Property Get <…」)
 
1行目: 1行目:
== 概要 ==
== 概要 ==
 
Visual Basic 6の関数は、特定の処理を行い値を返すプログラムの一部として機能する。<br>
<br>
アクセス修飾子として、<code>Private</code>や<code>Public</code>を指定して、関数名の後に引数を定義する。<br>
戻り値の型は、<code>As</code>キーワードで指定する。<br>
<br>
関数内では値を計算や処理を行い、最終的に関数名に値を代入することで戻り値を設定する。<br>
データ型には数値型、文字列型、オブジェクト型等があり、目的に応じて適切な型を選択できる。<br>
<br>
引数の受け渡し方法には値渡し (ByVal) と 参照渡し (ByRef) があり、デフォルトは参照渡しである。<br>
必要に応じて、省略可能な引数や可変長引数も使用できる。<br>
<br>
関数は他の関数やサブルーチンから呼び出すことができ、モジュール化されたコードの定義に役立つ。<br>
また、エラーハンドリングのためにOn Errorステートメントを使用することもできる。<br>
<br><br>
<br><br>



2025年1月23日 (木) 15:31時点における版

概要

Visual Basic 6の関数は、特定の処理を行い値を返すプログラムの一部として機能する。

アクセス修飾子として、PrivatePublicを指定して、関数名の後に引数を定義する。
戻り値の型は、Asキーワードで指定する。

関数内では値を計算や処理を行い、最終的に関数名に値を代入することで戻り値を設定する。
データ型には数値型、文字列型、オブジェクト型等があり、目的に応じて適切な型を選択できる。

引数の受け渡し方法には値渡し (ByVal) と 参照渡し (ByRef) があり、デフォルトは参照渡しである。
必要に応じて、省略可能な引数や可変長引数も使用できる。

関数は他の関数やサブルーチンから呼び出すことができ、モジュール化されたコードの定義に役立つ。
また、エラーハンドリングのためにOn Errorステートメントを使用することもできる。


基本構文

 ' 関数
 [Private|Public] Function <関数名>([<引数> As <>, ...]) [As <戻り値の型>]
    ' 処理
    関数名 = 戻り値  '戻り値の設定
 End Function
 
 ' サブルーチン
 [Private|Public] Sub <サブルチン名>([<引数> As <>, ...])
    ' 処理
    ' ...略
 End Sub



プロパティ

 Property Get <プロパティ名>() As <>
    ' 取得処理
    ' ...略
 End Property


 Property Let <プロパティ名>(<> As <>)
    ' 設定処理
 End Property



引数の修飾子

  • ByVal
    値渡し
  • ByRef
    参照渡し (デフォルト)
  • Optional
    省略可能な引数
  • ParamArray
    可変長引数



関数の定義例

基本的な関数

 Private Function Add(ByVal x As Integer, ByVal y As Integer) As Integer
    Add = x + y
 End Function
 
 ' 使用例
 Dim result As Integer
 result = Add(5, 3)  ' result = 8


参照渡しのサブルーチン

 Private Sub Swap(ByRef a As Integer, ByRef b As Integer)
    Dim temp As Integer
    temp = a
    a = b
    b = temp
 End Sub
 
 ' 使用例
 Dim x As Integer, y As Integer
 x = 1
 y = 2
 Swap x, y  ' x = 2, y = 1


オプション引数

 Private Function Multiply(ByVal x As Integer, Optional ByVal y As Integer = 1) As Integer
    Multiply = x * y
 End Function
 
 ' 使用例
 Dim result As Integer
 result = Multiply(5)     ' result = 5
 result = Multiply(5, 2)  ' result = 10


可変長引数

 Private Function Sum(ParamArray numbers() As Variant) As Long
    Dim total As Long
    Dim i As Integer
 
    For i = 0 To UBound(numbers)
       total = total + numbers(i)
    Next
 
    Sum = total
 End Function
 
 ' 使用例
 Dim result As Long
 result = Sum(1, 2, 3, 4, 5)  ' result = 15


プロパティ

 Private m_Name As String
 
 Property Get Name() As String
    Name = m_Name
 End Property
 
 Property Let Name(ByVal value As String)
    m_Name = value
 End Property
 
 ' 使用例
 Me.Name = "Test"     ' 設定
 Debug.Print Me.Name  ' 取得