Filemaker 13 Quicklook脚本

时间:2015-10-15 15:09:44

标签: applescript filemaker yosemite

在Mac OSX Yosemite上运行Filemaker 13。 我们有一个quicklook脚本,直到优胜美地,一直没有问题。通常,它会在容器字段中显示一个.doc / .docx文件,并在Quicklook中打开它。

但是在优胜美地,它会打开qlmanage,然后导致Filemaker冻结并崩溃。

Set Variable [ $file ; Value: ${database}::Container Field ]
Set Variable [ $path ; Value: Get ( Temporary Path ) & $file ]
Set Variable [ $script ; Value:
  Let (
    thepath = Middle( $path ; Position ($path ; "/" ; 1 ; 2 ); Length ($path) ;
    "set p to POSIX path of " & Quote (thepath) &
    "¶ do shell script \"qlmanage -p \" & quoted form of p" )
]
Export Field Contents [Database::Container Field ; "$path" ]
Perform Applescript [ $script ]

有人能就这里可能出现的问题向我提出一些想法吗? 感谢

1 个答案:

答案 0 :(得分:0)

我使用在OS X Yosemite 10.10.5下运行的FileMaker Pro Advanced 14.0.2编辑了一个脚本的编辑版本,该文件看起来像这样:

Set Variable [ $_file ; Value: GetAsText ( Table::container ) ]
Set Variable [ $_fm_path ; Value: Get ( TemporaryPath ) & $_file ]
Set Variable [ $_as_path ; Value: Middle (
    $_fm_path;
    Position ( $_fm_path; "/" ; 1 ; 2 ) ;
    Length ( $_fm_path) )
]
Set Variable [ $_script ; Value: List (
    "set p to POSIX path of " & Quote ( $_as_path ) ;
    "do shell script \"qlmanage -p \" & quoted form of p" )
]

Export Field Contents [ Table::container ; “$_fm_path” ]
Perform AppleScript [ $_script ]

Exit Script []

这与你展示的主要区别是:

  • 我使用了对表名的直接引用。我实际上不确定${database}指的是什么。也许是Get ( FileName )
  • 我将AppleScript路径存储在变量中以便于调试。

如果这不起作用,我会按照我在脚本编辑器中测试$_script内容执行情况的建议和内容终端中的shell p变量。