【发布时间】:2012-06-04 11:45:52
【问题描述】:
我在使用 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, 全部内容: {},选择:缺失值,应用程序文件:别名“MACHD:Applications:FileMaker Pro 11 Advanced:FileMaker Pro Advanced.app:”,方向:缺失值,角色:“AXApplication”,接受高级事件:true,文件类型:"APPL", value:missing value, position:missing value, id:25741451, 显示名称:"FileMaker Pro Advanced", name:"FileMaker Pro", class:应用进程, 仅后台: false, frontmost:false, size:missing value, visible:true, Classic:false, 角色描述:"application", 最大值:missing value, architecture:"i386", partition used:0, short name: "FileMaker Pro Advanced",重点:缺失值,最小值:缺失值,帮助:缺失值,title:"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, 全部内容: {},选择:缺失值,应用程序文件:别名“MACHD:Applications:FileMaker Pro 12 Advanced:FileMaker Pro Advanced.app:”,方向:缺失值,角色:“AXApplication”,接受高级事件:true,文件类型:"APPL", value:missing value, position:missing value, id:25753742, 显示名称:"FileMaker Pro Advanced", name:"FileMaker Pro", class:应用进程, background only:false, frontmost:false, size :缺失值,可见:true,Classic:false,角色描述:“应用程序”,最大值:缺失值,架构:“i386”,使用的分区空间:0,简称:“FileMaker Pro Advanced”,重点:缺失值,最小值:缺失值,帮助:缺失值,标题:“FileMaker Pro Advanced”,接受远程事件:false,描述:“应用程序”,总分区大小:0,可访问性描述ption:缺少值,具有脚本术语:true,捆绑标识符:“com.filemaker.client.advanced12”}*
因此,Apple 脚本编辑器字典中出现的字符串似乎是显示的名称、短名称或标题属性,但它们对于两个应用程序都是相同的。
那么我怎样才能打开并告诉适当的 FMP 版本,知道吗?
【问题讨论】:
-
我刚刚发现一个帖子正在讨论与我的问题非常接近的问题,但我不确定它是否回答,我必须测试,这是链接macscripter.net/viewtopic.php?id=24569
-
刚刚在另一个论坛上得到了答案 使用捆绑标识符和 FMP 11 的应用程序 id 告诉应用程序 id "com.filemaker.client.advanced" 为 FMP 12 告诉应用程序 id "com.filemaker。 client.advanced12"@macscripter.net/viewtopic.php?pid=151957#p151957
标签: applescript filemaker