nKB

nKB

シンプルにいこうよ

VBS/VBA 参照渡し(ByRef)と値渡し(ByVal)

SubプロシージャやFunctionプロシージャでは引数を使って
呼び出すプロシージャに値を渡すことができる。
値の渡し方には「参照渡し」と「値渡し」の2種類ある。
明示的に指定しないと参照渡し(ByRef)になる。


参照渡し(ByRef):
呼び出し先のプロシージャ側で引数の値を変更すると呼び出し元のプロシージャの変数の値も変わる

値渡し(ByVal):
変数の値のみプロシージャ側に渡されるので変更しても呼び出し元のプロシージャの変数の値は変わらない


Sub test(By Ref test1 As String, By Val As String)
    '処理
End Sub

基本的には値渡し(ByVal)で引き渡し、必要な場合のみ参照渡し(ByRef)にしたほうがよい。


EOF