Application メソッド (Access)Application.Run method (Access)

Run メソッドを使用すると、指定した Microsoft Access またはユーザー定義の Funtion プロシージャあるいは Sub プロシージャを実行できます。You can use the Run method to carry out a specified Microsoft Access or user-defined Function or Sub procedure. バリアント型 ( Variant ) の値を使用します。Variant.


実行(ProcedureArg1Arg2Arg3Arg4Arg5Arg6Arg7Arg8Arg9Arg10Arg11Arg12、 __ Arg13、、、、Arg14Arg15Arg16Arg17Arg18Arg19Arg20Arg21Arg22Arg23、 __ Arg24、 Arg25、 __ Arg26、Arg27Arg28Arg29Arg30)expression.Run (Procedure, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29, Arg30)

expression**Application** オブジェクトを 表す変数。expression A variable that represents an Application object.


名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
ProcedureProcedure 必須Required StringString 実行する Function プロシージャまたは Sub プロシージャの名前を指定します。The name of the Function or Sub procedure to be run. 別のデータベースでプロシージャを呼び出す場合は、プロジェクト名とプロシージャ名をドットで区切った "projectname" という形式で使用します。procedurename"If you are calling a procedure in another database, use the project name and the procedure name separated by a dot in the form: "projectname.procedurename"

Runメソッドを含む Visual Basic コードをライブラリデータベースで実行すると、最初にライブラリデータベースでプロシージャが検索され、次にカレントデータベースで検索されます。If you execute Visual Basic code containing the Run method in a library database, Access looks for the procedure first in the library database, and then in the current database.
Arg1, Arg2, ...Arg30Arg1, Arg2, ...Arg30 省略可能Optional VariantVariant 引数 Procedure で指定した Function または Sub プロシージャに渡す引数を指定します。The arguments that should be passed to the Function or Sub specified in the Procedure argument.

戻り値Return value



このメソッドは、Microsoft Office Access を他のアプリケーションからオートメーション (以前は OLE オートメーションと呼ばれていました) を介して制御する場合に便利です。This method is useful when you are controlling Microsoft Access from another application through Automation, formerly called OLE Automation. たとえば、ActiveX コンポーネントのRunメソッドを使用すると、Access データベースで定義されているSubプロシージャを実行できます。For example, you can use the Run method from an ActiveX component to carry out a Sub procedure that is defined within an Access database.

他の ActiveX コンポーネントからアクセスタイプライブラリへの参照を設定し、そのライブラリに定義されているオブジェクト、メソッド、およびプロパティをコード内で使用することができます。You can set a reference to the Access type library from any other ActiveX component and use the objects, methods, and properties defined in that library in your code. ただし、Access 以外のアプリケーションから、個々の Access データベースへの参照を設定することはできません。However, you can't set a reference to an individual Access database from any application other than Access.

たとえば、 ProjectNameプロパティが "WizCode" に設定されたデータベースで、NewForm というプロシージャを定義したとします。For example, suppose you have defined a procedure named NewForm in a database with its ProjectName property set to "WizCode." NewForm プロシージャは、文字列引数を取ります。The NewForm procedure takes a string argument. Visual Basic から、次の方法で NewForm を呼び出すことができます。You can call NewForm in the following manner from Visual Basic:

Dim appAccess As New Access.Application 
appAccess.OpenCurrentDatabase ("C:\My Documents\WizCode.mdb") 
appAccess.Run "WizCode.NewForm", "Some String"

同じ名前のプロシージャが別のデータベースに存在する可能性がある場合は、上記の例のように、_プロシージャ_の引数を、目的のプロシージャが存在するデータベースの名前で修飾します。If another procedure with the same name may reside in a different database, qualify the procedure argument, as shown in the preceding example, with the name of the database in which the desired procedure resides.

Runメソッドを使用して、別のデータベースから参照先 Access データベースのプロシージャを呼び出すこともできます。You can also use the Run method to call a procedure in a referenced Access database from another database.


次の使用例は、Access データベースのモジュールで、activex コンポーネントとして機能する別のアプリケーションからユーザー定義のSubプロシージャを実行します。The following example runs a user-defined Sub procedure in a module in an Access database from another application that acts as an Active X component.

この例を実行するには、WizCode.mdb という名前の新しいデータベースを作成し、 ProjectName プロパティを WizCode に設定します。To try this example, create a new database called WizCode.mdb and set its ProjectName property to WizCode. そのデータベースで新しいモジュールを開き、そのモジュールに次のコードを入力します。Open a new module in that database and enter the following code. モジュールを保存して、データベースを閉じます。Save the module, and close the database.


[ツール > ] メニューの [WizCode のプロパティ] を選択して、 ProjectNameを設定します。You set the ProjectName by selecting Tools > WizCode Properties from the VBE main menu.

Public Sub Greeting(ByVal strName As String) 
 MsgBox ("Hello, " & strName & "!"), vbInformation, "Greetings" 
End Sub

この手順を完了したら、Microsoft Excel または Visual Basic から次のコードを実行します。After you have completed this step, run the following code from Microsoft Excel or Visual Basic. [ツール] メニューの [参照設定] を選択し、[参照設定] ダイアログボックスで [ Microsoft access 12.0 オブジェクトライブラリ] を選択して、アクセスタイプライブラリへの参照を追加していることを確認してください。Make sure that you have added a reference to the Access type library by choosing References on the Tools menu and choosing Microsoft Access 12.0 Object Library in the References dialog box.

Private Sub RunAccessSub() 
 Dim appAccess As Access.Application 
 ' Create instance of Access Application object. 
 Set appAccess = CreateObject("Access.Application") 
 ' Open WizCode database in Microsoft Access window. 
 appAccess.OpenCurrentDatabase "C:\My Documents\WizCode.mdb", False 
 ' Run Sub procedure. 
 appAccess.Run "Greeting", "Joe" 
 Set appAccess = Nothing 
End Sub

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.