プロシージャを呼び出す(Call ステートメント)
プロシージャを呼び出す
プロシージャ内から、別のプロシージャを呼び出すには、Call ステートメント を使用します。参照設定を行うことで、別ブック内のプロシージャを呼び出すことも可能です。( ※ 参照設定を行わずに、別ブックのプロシージャを呼び出すには、Run メソッド を使用します。詳細は、別のブックのマクロを実行(Run メソッド) を参照してください。)
Call name ( argumentlist )
引数・戻り値
- name ・・・ 呼び出すプロシージャの名前を指定します(必須)。
- argumentlist ・・・ プロシージャに引き渡す変数リスト、配列、または式のいずれかを指定します。複数指定するときは、カンマ(,)で区切ります。
キーワード Call は、省略可能です。この時、引数 argumentlist を囲む括弧も省略する必要があります。
また、組み込み関数、ユーザー定義型関数を呼び出す場合、その関数の戻り値を取得することはできません。
別ブックのプロシージャを呼び出す には、参照設定を行う必要があります。
呼び出すブックを参照設定する方法
- VBE を起動して、プロジェクトエクスプローラで、参照するブックを選択します。右クリックまたは、[ツール] から [VBAProject のプロパティ] をクリックします。
- 「プロジェクト名」を入力して、[OK] ボタンをクリックします。
- [ツール] から [参照設定] をクリックし、[参照設定 -VBAProject] ダイアログボックスを表示します。② の「プロジェクト名」のチェックボックスにチェックを入れて、[OK] ボタンをクリックします。
参照設定を解除
VBE を起動、[ツール] から [参照設定] をクリックし、[参照設定 -VBAProject] ダイアログボックスを表示します。解除したい「プロジェクト名」のチェックボックスのチェックをはずして [OK] ボタンをクリックします。
- name ・・・ 呼び出すプロシージャの名前を指定します(必須)。
- argumentlist ・・・ プロシージャに引き渡す変数リスト、配列、または式のいずれかを指定します。複数指定するときは、カンマ(,)で区切ります。
キーワード Call は、省略可能です。この時、引数 argumentlist を囲む括弧も省略する必要があります。
また、組み込み関数、ユーザー定義型関数を呼び出す場合、その関数の戻り値を取得することはできません。
別ブックのプロシージャを呼び出す には、参照設定を行う必要があります。
呼び出すブックを参照設定する方法
- VBE を起動して、プロジェクトエクスプローラで、参照するブックを選択します。右クリックまたは、[ツール] から [VBAProject のプロパティ] をクリックします。
- 「プロジェクト名」を入力して、[OK] ボタンをクリックします。
- [ツール] から [参照設定] をクリックし、[参照設定 -VBAProject] ダイアログボックスを表示します。② の「プロジェクト名」のチェックボックスにチェックを入れて、[OK] ボタンをクリックします。
参照設定を解除
VBE を起動、[ツール] から [参照設定] をクリックし、[参照設定 -VBAProject] ダイアログボックスを表示します。解除したい「プロジェクト名」のチェックボックスのチェックをはずして [OK] ボタンをクリックします。
Call ステートメント 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Sub Sample01_Call() Call mybook_macro("あいうえお") End Sub Sub Sample02_Call() 'Call を省略 mybook_macro "あいうえお" End Sub |
実行結果
関連記事
-
引数の参照渡し・値渡し( ByRef, ByVal )
引数の「参照渡し」と「値渡し」 「参照渡し」とはプロシージャに引数として変数を渡 …
-
ユーザー定義型変数を使う(Type ステートメント)
Type ステートメントを使う Type ステートメントを使うと1つまたは複数の …
-
繰り返し処理(For…Next ステートメント)
For…Next ステートメントの使い方 【構文】 For coun …
-
プロシージャ内のサブルーチンへ移動(GoSub…Return ステートメント)
GoSub…Return ステートメント GoSub ステートメント …
-
プロシージャを作成する( Sub, Function )
プロシージャを作成する プロシージャとは、実行時に 1 つの単位として処理される …
-
set ステートメントを使う
Set ステートメントを使う 【構文 1】 Dim objectvar [ As …
-
With ステートメントを使う
With ステートメントを使う With ステートメントを使うことで、1度指定し …
-
繰り返し処理(For Each…Next ステートメント)
For Each…Next ステートメントの使い方 【構文】 For …
-
引数を可変にする( ParamArray )
ParamArray キーワード ParamArray キーワードを使用すると任 …
-
配列が引数のプロシージャを作成する
配列が引数のプロシージャを作成する 【構文】 { Sub | Function …