我对 file maker pro 有一个特殊的问题。在 mac 上同时安装了 FMP11 和 FMP12。我有一个脚本可以让 FMP 打开一个文档并进行一些处理。该脚本到目前为止工作正常,但新的是我混合了 FMP11 和 FMP12 文档。所以我必须打开适当的 FMP 来完成这项工作。问题是它们都在 AppleScript 应用程序列表中以相同的名称注册,所以如果我“告诉应用程序 File Maker Pro Advanced”,它并没有严格定义我要告诉哪个应用程序。我试图通过退出所有 FMP 来解决这个问题,然后通过 Finder 打开一个 FMP11 或 FM12 虚拟文档,这将启动适当的 FMP 版本,但是当我想用激活切换到它时,或者我使用第一个告诉在那之后的时间,如果打开的是 FMP11 一切正常,如果 FMP12 是打开的,tell 语句将打开 FMP11。最奇怪的是,在脚本的另一个简化版本中,它运行良好。
所以我的问题是:有没有其他方法可以使用tell应用程序,然后使用应用程序的注册名称?
我试图获取 FMP11 和 FMP12 的属性,结果如下:
* FMP11
获取应用程序进程“FileMaker Pro”的属性 --> {enabled:missing value, unix id:63125, file:alias "MACHD:Applications:FileMaker Pro 11 Advanced:FileMaker Pro Advanced.app:", creator type:"FMP7" , subrole:missing value, full contents:{}, selected:missing value, application file:alias "MACHD:Applications:FileMaker Pro 11 Advanced:FileMaker Pro Advanced.app:",orientation:missing value, role:"AXApplication",接受高级事件:true,文件类型:“APPL”,值:缺失值,位置:缺失值,id:25741451,显示名称:“FileMaker Pro Advanced”,名称:“FileMaker Pro”,类:应用程序进程,背景only:false, frontmost:false, size:missing value, visible:true, Classic:false, 角色描述:”应用程序”,最大值:缺失值,架构:“i386”,使用的分区空间:0,短名称:“FileMaker Pro Advanced”,重点:缺失值,最小值:缺失值,帮助:缺失值,标题:“FileMaker Pro Advanced”,接受远程事件:false,描述:“应用程序”,总分区大小:0 ,可访问性描述:缺失值,具有脚本术语:true,捆绑标识符:“com.filemaker.client.advanced”}
FMP12
获取应用程序进程“FileMaker Pro”的属性 --> {enabled:missing value, unix id:63199, file:alias "MACHD:Applications:FileMaker Pro 12 Advanced:FileMaker Pro Advanced.app:", creator type:"FM12" , subrole:missing value, full contents:{}, selected:missing value, application file:alias "MACHD:Applications:FileMaker Pro 12 Advanced:FileMaker Pro Advanced.app:",orientation:missing value, role:"AXApplication",接受高级事件:true,文件类型:“APPL”,值:缺失值,位置:缺失值,id:25753742,显示名称:“FileMaker Pro Advanced”,名称:“FileMaker Pro”,类:应用程序进程,背景only:false,frontmost:false,size:缺失值,visible:true,Classic:false,角色描述:“应用”,最大值:缺失值,架构:“i386”,使用的分区空间:0,简称:“FileMaker Pro Advanced”,重点:缺失值,最小值:缺失值,帮助:缺失值,标题:“FileMaker Pro Advanced”,接受远程事件:假,描述:“应用程序”,总分区大小:0,可访问性描述:缺失值,有脚本术语:真,捆绑标识符:“com.filemaker.client.advanced12”}*包标识符:“com.filemaker.client.advanced12”}*包标识符:“com.filemaker.client.advanced12”}*
因此,Apple Script Editor 的字典中出现的字符串似乎是显示的名称、短名称或标题属性,但它们对于两个应用程序都是相同的。
那么我怎样才能打开并告诉适当的 FMP 版本,知道吗?