首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AppleScript结合FileMaker的应用实例一则

今天给大家带来一个结合了以下多种不同技术的应用实例,其中包括了:1,FileMaker Pro Advanced 17(以下简称FM)建立用户图形界面;

2,AppleScript(以下简称AS)使用第三方正则表达式技术(Regular Expression,以下简称RE),FM可以在脚本中调用AS;

有关正则表达式更多信息,请参考维基百科的说明:

https://zh.wikipedia.org/wiki/正则表达式

3,应用中,从Microsoft Excel for Mac 2016(以下简称Excel)数据中搜寻特定字符串格式,并输出至Excel另外一列之中,其读取数据及写入数据操作基于AS代码;

先来看一下此实例的FM界面:

简朴的界面更适合做示例,此处“序列号”指的是苹果设备的设备序列号;

“Email”指的是包含Email格式的字符串;

“手机号码”指的是以1打头后面跟着10位数字的数字串;

"计算财政年度日期"指的是用于某大公司的财政年度日期计算;

“其它模式”指的是可以自定义的一些搜索模式(用于未来拓展)。

示例文件使用方式有两点需要注意,由于文件基于macOS 10.14建立,仅限于Mac OS X Mojave系统下,运行在更早版本的macOS系统的朋友,有两个选择,一是更新系统Mojave,二是在Satimage网站中安装正则表达式插件,并在FM脚本中将以下内容加两条横线直接注释掉,

即将use application "SatimageOSAX"

变成--use application "SatimageOSAX"

已安装macOS 10.14 Mojave的朋友,还需要将此RE插件APP(即SatimageOSAX.app)拷贝至应用程序文件夹,文件之前是在著名的Late Night forum中一个讨论中发现的,今天查看网站竟然挂了,稍后的实例文件打包中会包含此APP方便大家学习和测试使用,其版权仍属于原作者所有。

注:macOS 10.14之前版本的RE插件及APP均非macOS AppleScript系统原生,属于第三方,请移步前往http://www.satimage.fr下载。

个人建议还是更新macOS 10.14 ,暗色模式与桌面文件堆叠stack还是非常好用的。

好了,上述准备工作都已完成,下面好戏开场了。

实例中的Excel有多列:

A列是一些模拟文本段内容,要求是从文本内容中找出特定模式的序列号,结果输出到B列;

C列是一些已知的日期,需要转换为财政年度日期格式,输入到D列;

E列是一些数字串,可能包含日期,数字,要从中找到手机号码格式,输出到F5开始的列中

G列是一些疑似Email的字符串,要从中找出并输入到I列中

毫无疑问,常规的Excel公式不是不能做,而是做起来十分困难,此时通过RE就很容易能够让计算机读懂你所要的意思了。

符合格式条件的直接搜索出来,不符合格式条件的没有搜索到结果,找到多个结果的会堆在一起输出在同一单元格,只要你需要,甚至可以在“查找列的末格”里填到几千甚至上万(意味着需要让AS搜索上千上万行再输出),作者之前就是使用此实例工具,搜索了超过千行的Excel内容,单纯使用Excel公式去查找就完全不是一个数量级别的复杂了。

可能有朋友会担心AS在Excel中的运行效率低,完全不必担心,虽然不如VBA的电光火石,由于现在Mac速度普遍很快,AS的速度也足够让我们惊喜,即使几千行内容也能够很快执行完毕获取到需要的结果。

以下是实例的应用视频:

文章最后给出此实例文件的下载地址(ZIP):

https://www.icloud.com/iclouddrive/0GAOcRenNv4HCNpOyKbjIsmXQ#FileMaker_AppleScript_%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F_%E5%AE%9E%E4%BE%8B.zip

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190119G15QAJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券