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