参照保存したデータをエクスプローラで表示する/もしくはエクスポート

NO IMAGE

データ(画像とかテキストとかOfficeドキュメントとかPDFとか)をおさめたオブジェクトフィールドを、仮に「filedata」としたとします。
これには参照のみ保存している場合と、データそのものをファイルメーカーに取りこむ「参照のみでない」保存があると思います。
そこで、
参照のみ保存の場合:実体データのある場所をエクスプローラで表示
データがFM内にある場合:データをエクスポートする
というスクリプトの書き方です。
filedata:データを保存するフィールド(オブジェクトフィールド)。
filepath:参照の場合、データのパスを保存するフィールド(計算フィールド、計算値を自動入力で計算値を上記filedataにしてもいいし、GetAsTextにしてもいいです)。
■スクリプト:
If [Exact ( Left ( fairu : 5 ) ; "file:" ) ="1" ]
 変数を設定 [ $path ; 値:MiddleValues ( Substitute ( filepath ; "filewin" ; "file" ) ; 2 ; 1 ]
 変数を設定 [ $Command ; 値 : "explorer.exe /e, /select, \"" & $Path & "\"" ]
 Eventを送信 [「aevt」;「odoc」; $Command ]
Else
 フィールド内容のエクスポート [ filedata ]
End If
となります。