ホーム
おまかせ表示
最近の更新
特別ページ
コミュニティ・ポータル
設定
MochiuWiki : SUSE, EC, PCBについて
免責事項
MochiuWiki : SUSE, EC, PCB
検索
利用者メニュー
ログイン
Visual Basic 6の基礎 - 関数のソースを表示
←
Visual Basic 6の基礎 - 関数
📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは
2026年9月に閉鎖
いたします。
移転先は
https://mochiu.net/index.php?title=Visual Basic 6の基礎 - 関数
です。
新しい記事は移転先で追加しております。
(旧サイトでは記事を追加しておりません)
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == 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> == 基本構文 == <syntaxhighlight lang="vb"> ' 関数 [Private|Public] Function <関数名>([<引数> As <型>, ...]) [As <戻り値の型>] ' 処理 関数名 = 戻り値 '戻り値の設定 End Function ' サブルーチン [Private|Public] Sub <サブルーチン名>([<引数> As <型>, ...]) ' 処理 ' ...略 End Sub </syntaxhighlight> <br><br> == Private / Public == ==== Private ==== * そのモジュール内でのみアクセス可能 * 他のモジュールからは参照不可 * コードの安全性とカプセル化を高める。 <br> <syntaxhighlight lang="vb"> ' このモジュール内でのみ使用可 Private Sub InternalProcess() '処理 End Sub </syntaxhighlight> <br> ==== Public ==== * どのモジュールからもアクセス可能 * プロジェクト内のどこからでも参照可能 * モジュール間で共有する必要がある変数やメソッドに使用する。 <br> <syntaxhighlight lang="vb"> ' 他モジュールから呼び出し可 Public Function Calculate() As Integer '処理 End Function </syntaxhighlight> <br><br> == プロパティ== <syntaxhighlight lang="vb"> Property Get <プロパティ名>() As <型> ' 取得処理 ' ...略 End Property </syntaxhighlight> <br> <syntaxhighlight lang="vb"> Property Let <プロパティ名>(<値> As <型>) ' 設定処理 End Property </syntaxhighlight> <br><br> == 引数の修飾子 == * ByVal *: 値渡し * ByRef *: 参照渡し (デフォルト) * Optional *: 省略可能な引数 * ParamArray *: 可変長引数 <br><br> == 関数の定義例 == ==== 基本的な関数 ==== <syntaxhighlight lang="vb"> 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 </syntaxhighlight> <br> ==== 参照渡しのサブルーチン ==== <syntaxhighlight lang="vb"> 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 </syntaxhighlight> <br> ==== オプション引数 ==== <syntaxhighlight lang="vb"> 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 </syntaxhighlight> <br> ==== 可変長引数 ==== <syntaxhighlight lang="vb"> 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 </syntaxhighlight> <br><br> == プロパティ == ==== プロパティとは ==== プロパティは内部データへのアクセスを制御して、値の検証やその他のロジックを追加することができる。<br> <br> プロパティには、以下に示す3つの主要なアクセサがある。<br> * Get *: 値の読み取り * Let *: 値の設定 (通常の値型) * Set *: オブジェクトの設定 <br> <syntaxhighlight lang="vb"> 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 ' 取得 </syntaxhighlight> <br> ==== データの検証 ==== <syntaxhighlight lang="vb"> Property Let Age(value As Integer) If value >= 0 And value <= 150 Then mAge = value Else Err.Raise 1000, "Invalid age value" End If End Property </syntaxhighlight> <br> ==== 計算値の提供 ==== <syntaxhighlight lang="vb"> Property Get TotalPrice() As Currency TotalPrice = mBasePrice * (1 + mTaxRate) End Property </syntaxhighlight> <br> ==== カプセル化による安全性確保 ==== <syntaxhighlight lang="vb"> Private mPassword As String Property Let Password(value As String) mPassword = Encrypt(value) End Property </syntaxhighlight> <br> ==== 参照整合性の管理 ==== <syntaxhighlight lang="vb"> Private mParent As Form Property Set Parent(obj As Form) If Not obj Is Nothing Then Set mParent = obj ' その他の初期化処理 ' ...略 End If End Property </syntaxhighlight> <br><br> {{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux |image=/resources/assets/MochiuLogo_Single_Blue.png }} __FORCETOC__ [[カテゴリ:その他]]
Visual Basic 6の基礎 - 関数
に戻る。