FileMaker Pro ActiveX オートメーションの使用 (Windows)
FileMaker Pro タイプライブラリ
タイプライブラリには、FileMaker Pro により渡されるオブジェクト、プロパティ、メソッドが記述されているので、その他の ActiveX クライアントから FileMaker Pro にアクセスすることができます。
FileMaker Pro タイプライブラリは、FileMaker Pro 実行可能ファイルに含まれています。独立したファイルではありません。FileMaker Pro をインストールすると、FileMaker Pro タイプライブラリがコンピュータに登録されます。
Visual Basic では、プロジェクトの [参照可能なライブラリファイル:] のリストに [FileMaker Pro Type Library] を追加します。
重要  ActiveX オートメーションドキュメントを実装するために使用するアプリケーションで、使用可能なタイプライブラリのリストに FileMaker Pro タイプライブラリを追加する必要があります。タイプライブラリを追加しないと、ActiveX オートメーションを介して、FileMaker Pro で処理することはできません。
このライブラリを追加する方法は、ActiveXオートメーションオーサリングツールにより異なります。作業方法がわからない場合は、ActiveX オートメーションオーサリングツールのドキュメントを参照してください。Microsoft Visual Basic では、次のようにしてライブラリを追加します。
Microsoft Visual Basic に FileMaker Pro タイプライブラリを追加するには、次の操作を行います。
1.
Microsoft Visual Basic の [プロジェクト] メニューから [参照設定...] を選択し、[タイプライブラリの追加] を選択します。
2.
[FileMaker Pro タイプライブラリ] の左側にあるチェックボックスを選択します。
3.
[OK] をクリックします。
プロジェクトリファレンスに FileMaker Pro ライブラリが追加されると、「FMPro70Lib」 がVisual Basic オブジェクトブラウザに表示されます。これで、オートメーションコントロールに対して FileMaker Pro から渡されるオブジェクト、メソッド、プロパティがすべて使用可能になります。
Application オブジェクトとして FileMaker Pro を宣言
FileMaker Pro を制御するための ActiveX オートメーションスクリプトやアプリケーションを作成するたびに、FileMaker Pro を Application オブジェクトとして宣言します。宣言は、他の定義とともにオートメーションドキュメントの先頭で、1行のコードに記述します。
次に例を示します。
Dim FMProApp as FMPro70Lib.Application
Application オブジェクトの取得
FileMaker に対するオートメーション呼び出しを作成するには、まず、FileMaker Application オブジェクトにアクセスする必要があります。アクセスする方法は2つあります。CreateObject または GetObject を呼び出します。
どちらの呼び出しを使用する場合も、最初に Application オブジェクトを宣言します。
Dim FMProApp as FMPro70Lib.Application
CreateObject を呼び出す場合
Set FMProApp = CreateObject("FMPRO.Application")
FileMaker Pro が実行されていない場合は、CreateObject によって起動されます。
GetObject 関数は FileMaker がすでに実行されている場合に、Application オブジェクトを取得します。
GetObject を呼び出す場合
Set FMProApp = GetObject(, "FMPRO.Application")
カッコの直後にあるコンマ(,)に注意してください。 これは、GetObject の最初の引数、つまりディスクファイルへのパスが省略されていることを表します。GetObject では最初の引数としてファイル名を使用することがあるので、コンマが必要になります。ただし、FileMaker Pro のインスタンスを取得する場合は、引数にファイル名を指定すると、エラーが発生することがあります。
FileMaker Pro スクリプトの呼び出し
ActiveX オートメーションを使用して FileMaker Pro スクリプトを実行するには、変数としてスクリプト名を指定した上で DoFMScript 関数を呼び出します。
次に例を示します。
Dim FMProApp as FMPro70Lib.Application
CreateObject("FMPRO.application")
Dim FMProDocs, FMProDocs.Open("c:\MyFile.fmp12","","")
Dim FMProDoc
FMProDoc.DoFMScript ("MyScript")
Set FMProDoc = nothing
FileMaker Pro アプリケーションの表示/非表示の切り替え
デフォルト(初期設定)では、オートメーションによって起動された FileMaker Pro は表示されずに実行されます。Visible プロパティを使用して、FileMaker Pro の表示または非表示を切り替えることができます。
たとえば、アプリケーションを非表示にするには、次の操作を行います。
FMProApp.Visible = False
アプリケーションを表示するには、次の操作を行います。
FMProApp.Visible = True
参照カウントとオブジェクトの解放
オートメーションオブジェクトを参照すると、参照カウントが増えて、FileMaker Pro に対し、このオブジェクトを使用しているプロセスがあることが通知されます。Visual Basic では、宣言された変数に FileMaker のオブジェクトを設定するたびに、オブジェクトの参照がカウントされます。 たとえば次のようになります。
' オブジェクトの参照ではなく、宣言文です。
Dim FMDocs As FMPro70Lib.Documents
' この行でFileMakerの「Documents」オブジェクトの参照が起こります。
Set FMDocs = FMApp.Documents
' この行で同じFileMakerの「Documents」オブジェクトの2番目の参照が起こります。
Set FMDocs2 = FMApp.Documents
参照カウントがすべて解放されるまで、FileMaker は終了できません。Visual Basic では、このオブジェクト変数を「Nothing」に設定することで、参照カウントを解放することができます。 たとえば次のようになります。
' FileMaker の 「Documents」 オブジェクトへの参照を開放します。
Set FMDocs = Nothing
' FileMaker の 「Documents」 オブジェクトへの2番目の参照を開放します。
Set FMDocs2 = Nothing
' FileMaker Application オブジェクトへの参照を開放します。
Set FMProApp = Nothing
オブジェクト変数の使用が完了した後、変数に必ず「Nothing」を設定することをお勧めします。
アクセス権
FileMaker Pro では、Documents.Open(ファイル名 As String, アカウント名 As String, パスワード As String) メソッドを使用します。引数「アカウント名」と「パスワード」が空の文字列である場合、ファイルはクライアントユーザとして開きます。
スクリプト
オートメーションにより直接呼び出された FileMaker Pro スクリプトは、互いに干渉しあう可能性があります。
他の FileMaker Pro スクリプトから呼び出された FileMaker Pro スクリプトは、スクリプトに記述されている順序で実行されます。
リモートでホストされているファイル
ActiveX オートメーションだけを使用して、ホストされたファイルを開くことはできません。ホストされたファイルをオートメーションを使用して開くには、FileMaker Pro の [ファイルを開く] ダイアログボックスで直接このファイルを開くか、オートメーションを使用してファイルにアクセスするか、またはこのファイルを開くための FileMaker Pro スクリプトを記述してから、オートメーションを使用してこのスクリプトを呼び出します。
関連項目 
FileMaker Pro ActiveX オートメーションの使用 (Windows)
ActiveX オートメーションの例(Windows)