同じ名前のプロシージャを呼び出す

アクティブ モジュール内のプロシージャを呼び出すのと同様に、アクティブ モジュールと同じプロジェクトモジュールにあるプロシージャを呼び出すことができます。 ただし、2 つ以上のモジュールに同じ名前のプロシージャが含まれている場合は、以下の例のように、呼び出し元ステートメントでモジュール名を指定する必要があります。

Sub Main() 
    Module1.MyProcedure 
End Sub

2 つの異なるプロジェクト内で 2 つの異なるプロシージャに同じ名前を指定した場合は、そのプロシージャを呼び出すときにプロジェクトの名前を指定する必要があります。 たとえば、次のプロシージャは、プロジェクト内の Main モジュール内の MyModule プロシージャを MyProject.vbp 呼び出します。

Sub Main() 
    [MyProject.vbp].[MyModule].Main 
End Sub

注:

アプリケーションごとに、プロジェクト用の異なる名前があります。 たとえば、Microsoft Access では、プロジェクトはデータベース (.mdb) と呼ばれます。Microsoft Excel では、ブック (.xls)。

ヒント

  • モジュールまたはプロジェクトの名前を変更する場合は、呼び出し元のステートメントに表示されるモジュールまたはプロジェクト名を必ず変更 してください。それ以外の場合、Visual Basic は呼び出されたプロシージャを見つけることができません。 [編集] メニューの [置換] コマンドを使用して、モジュール内のテキストを検索して置換します。
  • 参照されるプロジェクト間で名前付けの競合を回避するには、プロシージャに一意の名前を指定します。これにより、プロジェクトまたはモジュールを指定しなくても、プロシージャを呼び出すことができます。

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。