このページは、主に神経科学に関することがらについて、気になることを集めたメモ集です。

FileMakerから特定のPDFファイルを開く場合、ファイル名があらかじめデータに保存されている場合には、その情報を使って、スクリプトの「URLを開く」からファイルを開くことができる。

しかし、データにファイル名は保存されていない場合、ファイル番号などから検索するには、次のようにする。

なお、今回はWindowsのスクリプト言語であるPower Shellを使った方法を紹介する。

処理の手順としては、以下のようになる
  1. FileMaker が Acrobat あるいは AcrobatReader で開きたいファイルの番号が記されたファイルを作る
  2. スクリプト1がファイルの内容を読み取り、スクリプト2に渡す
  3. スクリプト2は、ファイル番号をファイル名の形式に直し、Acrobat (or AcrobatReader) で開く


ユーザーの手続き

ユーザーがおこなうことは、(1) PowerShellスクリプトファイルの作成、(2) FileMakerでのスクリプトの作成、(3) PowerShellのWindowsでの実行許可、である。
PowerShellスクリプトファイルの作成
まず、テキストファイルで、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のスクリプトの作成
FileMakerで、新規にスクリプトを作成するには、「スクリプト」から「スクリプトの管理」を選び、「作成」を選ぶ。

「作成」ボタンを押すと、編集画面が出てくるので、「レコードのエクスポート」と「Eventを送信」を組み合わせて、特定のレコードの内容を、任意のファイル名で記録して、特定のスクリプトを起動するようにする。

WindowsでのPowerShellの実行許可
Windowsにはスクリプト言語として、PowerShellが使用できるが、Windows 7では、PowerShellとPowerShell2の両方が使用できる。ただし、FileMakerからはPowerShellが読みだされるので、PowerShellに対してスクリプトの実行を許可する手続きする。

具体的には、管理者モードでコマンドスクリプトを立ち上げ、コマンドラインに "powerscript" と入力し、コマンドラインのプロンプトが「PS」となっていることを確認してから、以下のコマンドを実行すればよい。
PS > Set-ExecutionPolicy Unrestrected

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

管理人/副管理人のみ編集できます