FileMakerから特定のPDFファイルを開く場合、ファイル名があらかじめデータに保存されている場合には、その情報を使って、スクリプトの「URLを開く」からファイルを開くことができる。
しかし、データにファイル名は保存されていない場合、ファイル番号などから検索するには、次のようにする。
なお、今回はWindowsのスクリプト言語であるPower Shellを使った方法を紹介する。
処理の手順としては、以下のようになる
しかし、データにファイル名は保存されていない場合、ファイル番号などから検索するには、次のようにする。
なお、今回はWindowsのスクリプト言語であるPower Shellを使った方法を紹介する。
処理の手順としては、以下のようになる
- FileMaker が Acrobat あるいは AcrobatReader で開きたいファイルの番号が記されたファイルを作る
- スクリプト1がファイルの内容を読み取り、スクリプト2に渡す
- スクリプト2は、ファイル番号をファイル名の形式に直し、Acrobat (or AcrobatReader) で開く
ユーザーがおこなうことは、(1) PowerShellスクリプトファイルの作成、(2) FileMakerでのスクリプトの作成、(3) PowerShellのWindowsでの実行許可、である。
まず、テキストファイルで、2つの PowerShellスクリプトファイルを作成する。ここでは、2つのファイル名を仮に "GetArticleNo.ps1" と "LaunchAcrobat.ps1" としておく。
ファイルの内容は次の通り。
ファイルの内容は次の通り。
- GetArticleNo.ps1
sl D:\TEMPORALLY gc record.tab | .\LaunchAcrobat
- LaunchAcrobat.ps1
begin { $i = 0 $root_dir = "D:\Articles\_Archive\" } process { $i = [int]$_ $s = $i.ToString("00000") $tempname = $root_dir + $s + ".pdf" $p = Get-Item $tempname if ($p.Attributes -eq "Archive") { "File" $filename = $tempname }else { "Dir" $filename = $root_dir + $s + "\" + $s + ".pdf" } $filename sl "C:\Program Files (x86)\Adobe\Acrobat 9.0\Acrobat" .\Acrobat $filename sl "D:\TEMPORALLY" }
FileMakerで、新規にスクリプトを作成するには、「スクリプト」から「スクリプトの管理」を選び、「作成」を選ぶ。
「作成」ボタンを押すと、編集画面が出てくるので、「レコードのエクスポート」と「Eventを送信」を組み合わせて、特定のレコードの内容を、任意のファイル名で記録して、特定のスクリプトを起動するようにする。
「作成」ボタンを押すと、編集画面が出てくるので、「レコードのエクスポート」と「Eventを送信」を組み合わせて、特定のレコードの内容を、任意のファイル名で記録して、特定のスクリプトを起動するようにする。
Windowsにはスクリプト言語として、PowerShellが使用できるが、Windows 7では、PowerShellとPowerShell2の両方が使用できる。ただし、FileMakerからはPowerShellが読みだされるので、PowerShellに対してスクリプトの実行を許可する手続きする。
具体的には、管理者モードでコマンドスクリプトを立ち上げ、コマンドラインに "powerscript" と入力し、コマンドラインのプロンプトが「PS」となっていることを確認してから、以下のコマンドを実行すればよい。
具体的には、管理者モードでコマンドスクリプトを立ち上げ、コマンドラインに "powerscript" と入力し、コマンドラインのプロンプトが「PS」となっていることを確認してから、以下のコマンドを実行すればよい。
PS > Set-ExecutionPolicy Unrestrected
タグ
コメントをかく