FileMaker Pro Advanced では、外部ファイルまたは FileMaker のデータソースへのファイルパスを指定できます。それぞれの名前の付いたファイルまたは FileMaker データソースは、1 つ以上のファイルパスから構成されます。該当すると思われるファイルの一覧を FileMaker クライアントで検索する場合は、複数のファイルパスを使用します。
FileMaker データソースの追加とファイルパスの指定方法の詳細については、外部データソースへの接続を参照してください。
FileMaker クライアントでは、特別な FileMaker 形式のファイルパスがサポートされています:
パスタイプ | 説明 | 構文 |
相対パス | 現在のデータベースの場所またはユーザのドキュメントフォルダから指定されたターゲットファイルへのパス (下記のメモを参照) |
|
完全なローカルまたはリモート (macOS) | ローカルボリュームまたはリモートボリュームにあるターゲットファイルまたはフォルダに対する、ファイルシステムの最上位からの完全パス |
|
完全なローカル (Windows) | Windows のターゲットファイルまたはフォルダに対する、ファイルシステムの最上位からの完全パス |
|
完全なリモート (Windows) | Windows ファイル共有機能を使用して共有されている Windows ボリュームのターゲットファイルまたはフォルダの完全パス |
|
FileMaker ネットワーク | 共有されている FileMaker Pro Advanced ファイルへのネットワークパス |
|
パスの接頭語により、FileMaker クライアントがどのような場合に固有のパスを使用できるかが決定されます:
•file、image、または movie で始まる接頭語により、ファイルのデータタイプを指定します。固有のデータタイプでのみ動作するスクリプトステップでは image または movie が必要です (下記参照)。それ以外の場合は file を使用します。
•win、mac、または linux で終わる接頭語により、パスを使用できるプラットフォームを指定します。
•fmnet という接頭語により、共有されている FileMaker Pro Advanced ファイルへのネットワークパスを指定します。
file で始まる接頭語は、任意の完全パスまたは相対パスに使用できます。file という接頭語は、任意のプラットフォームで使用できます。
複数のプラットフォーム固有のパスを作成するのは困難なので、多くの場合、file 接頭語のみを (末尾にプラットフォームを指定せずに) Get (テンポラリパス) 関数または Get (ドキュメントパス) 関数とともに使用し、単一のパスを変数として指定するほうが簡単です。実行時には、これらの関数を使用した変数パスは現在のクライアントのプラットフォームでのみ機能します。たとえば、次の式で定義された変数は、クライアントのテンポラリフォルダにある「myfile.txt」ファイルを表します。
"file:"& Get (テンポラリパス) & "myfile.txt"次の表は、サポートされるすべてのパスの接頭語の一覧と使用できる場合の例を示します。
パスの接頭語 | 用途 |
| [レコードのインポート] スクリプトステップおよび [レコードのエクスポート] スクリプトステップを使用したデータのインポートおよびエクスポート、FileMaker データソース、オブジェクトフィールドに [ファイルを挿入] スクリプトステップを使用して挿入されたファイル、データファイルを操作するスクリプトステップ |
| それぞれ [PDF を挿入] スクリプトステップまたは [ピクチャを挿入] スクリプトステップを使用してオブジェクトフィールドに挿入されたイメージまたは PDF ファイル |
| [オーディオ/ビデオを挿入] スクリプトステップを使用してオブジェクトフィールドに挿入されたオーディオ/ビデオファイル |
外部データソースを追加するか、またはファイルにアクセスするスクリプトを作成する場合、該当すると思われるファイルの一覧を FileMaker クライアントで検索する際に複数のファイルパスを使用できます。ファイルパスは、表示される順序で検索されます。FileMaker クライアントは、最初に特定できたファイルを開いて検索を完了します。各ファイルパスは個別の行に記述する必要があります。
•例 1: この例では、FileMaker Pro Advanced のデータベースは 2 つの異なるオペレーティングシステムで動作する必要があります。それぞれローカルファイルにアクセスする Windows システムおよび macOS システムです。どちらのプラットフォームでも、データベースは「test.xlsx」という名前のローカルファイルにアクセスする必要があります。この場合、次のようなファイル参照を使用します。
filewin:/C:/ExcelFiles/Hosted/test.xlsx
filemac:/MacintoshHD/ExcelFiles/Hosted/test.xlsxまたは共有フォルダが両方のシステムのドキュメントフォルダにある場合は、この式に変数を使用して両方のプラットフォームで機能する単一のパスを指定できます:
"file:"& Get (ドキュメントパス) & "Hosted/test.xlsx"次の「ファイルパスで変数を使用する例」を参照してください。
•例 2: この例では、スクリプトレコードのインポートの FileMaker Pro Advanced のデータベースから共有のファイルにアクセスします。ただし、ホストを利用できない場合に参照する代替ファイルとして、別のサーバーで共有されているファイルと、ローカルのハードドライブに保存されているファイルを追加します。最初のネットワークファイルにアクセスできない場合は、FileMaker クライアントにより次のネットワークファイルが検索されます。2 番目のネットワークファイルにもアクセスできない場合は、FileMaker クライアントによりローカルファイルが検索されます。
fmnet:/host1.domain.com/Databases/test.fmp12
fmnet:/host2.domain.com/Databases/test.fmp12
file:../Databases/test.fmp12変数を使用すると、多くのスクリプトステップ ([ファイルを挿入] スクリプトステップや [レコードのインポート] スクリプトステップなど) でファイルやフォルダパスを動的に指定できます。変数の使用を参照してください。
次の例では次の変数を想定しています:
$fileName = "test.xlsx"
$username = "JohnSmith"
$targetDir = "Documents/Clients"
$chosenType = "filewin"
$$source = "file:Documents/2019/demo files"
$driveLetter = "G:"
$docsFilePath = "file:"& Get (ドキュメントパス) & "test.xlsx"
$searchList = "file:old results.txt
file:../archived/old results.txt
目的 | パスの一覧の入力 | 解決されたパスの一覧 |
ファイル名のみを指定する |
|
|
パスに 1 つまたは複数のディレクトリを指定する |
|
|
任意のサポートされているプラットフォーム上のドキュメントフォルダ内のファイルを指定する |
| Windows: macOS: |
さまざまなパスタイプの接頭語で、完全パスまたは相対パスを指定する |
|
|
パスタイプの接頭語を動的に指定するか、長いパスの一部として指定する |
|
|
1 つまたは複数の完全なパスを指定する |
|
|
ファイルではなくディレクトリを指定する |
|
|
•共有の Windows ボリュームに置かれているファイルにアクセスするには、ネットワークパス形式を使用します。この形式は、共有の Windows ボリュームでのみ使用することができます。共有の macOS ボリュームや、FileMaker Network 共有では互換性はありません。
•リモートの macOS ボリュームに置かれているファイルにアクセスするには、まずボリュームをマウントし、パスの先頭に filemac を付けます。たとえば、「myhost」サーバーの「Home」ボリューム上の「Clients」フォルダ内にある「test.xlsx」という名前のファイルへレコードをエクスポートするには、「myhost」で「Home」ボリュームをマウントした場合、パスは「filemac:/Home/Clients/test.xlsx」になります。
•FileMaker ネットワークのトラフィックの速度が低下するため、ネットワークファイルパスの定義でアスタリスク (*) をワイルドカードとして使用することはできません。アスタリスクではなく、適切な IP アドレスを使用するか、ファイルパスにある変数を使用するようにしてください。
•ファイルパス一覧の区切りとして、"/"、":"、または改行の文字を使用します。
•FileMaker データソース参照では変数を使用できます。FileMaker データソースの編集を参照してください。
•現在のデータベースがローカルに開かれている場合は、相対パスは現在のデータベースの場所から指定されたターゲットファイルへのパスです。現在のデータベースがリモートで開かれている場合は、相対パスは次の場所から指定されたターゲットファイルへのパスです:
•パスが FileMaker Pro Advanced ファイルを指している場合はホストのネットワークアドレス (パスに含まれるフォルダは無視されます)
•パスがその他のタイプのファイルを指している場合はユーザのドキュメントフォルダ
•ファイルへのアクセスはクライアントによって異なります:
•FileMaker Pro Advanced および FileMaker Go の場合、ローカルファイルへのアクセスはオペレーティングシステムでのみ制限されます。
•サーバーサイドスクリプトの場合、ファイルアクセスは「Documents」フォルダとテンポラリフォルダに制限されます。サーバーサイドスクリプト内のパスを参照してください。
•FileMaker WebDirect、FileMaker Data API、およびカスタム Web 公開はサーバーのファイルシステムにアクセスできません。