【TechTarget中国原创】Macro的任务就是选取一个输入参数— —个ZIP编码——并将这个参数传送到Yahoo本地服务请求,这个请求将会为ZIP编码搜索所有最近的医院。Macro的返回值以文本形式显现。因此无论任何单元呼叫Macro,返回值都会被放置到内部。Macro的底层结构是建立在通用网络对象基础之上的,通用网络对象是Open Office使用的组件模型,用来支持访问文件分析XML数据。如果你对Microsoft Office的COM模型和其它的Microsoft产品非常了解,UNO和Open Office是等价的。
为了在Open Office部署Macro,你需要进行工具->Macros->组织Macros>Open Office.org Basic菜单,通过选取最后的菜单,你会看到一个弹出式窗口。在窗口右侧点击我的Macros icon,这个流程会打开Macro定义窗口。这时,你可以复制表1.1到前一个窗口保存你的更改,Macro的电子表格功能就可以使用了。
假设你Calc电子表格的A栏包含zip编码,在A栏的基础上,一个类似=get_closest_hospital(A[No])的定义会用从雅虎本地服务析取的数据自动填充B栏注意单元内部的函数名和Macro的函数定义是一样的,Open Office使得Macro函数最终得以实现。
结果,执行相似服务Microsoft Excel的服务呼叫Open Office描述的另一个Excel,这可以通过使用相同的网络查询机制概括成早期的网络刮削。理由是可以通过在Microsoft Excel建立网络查询,从电子表格单元抽取输入变量,同时直接过滤返回的XML有效负荷。从本质上来说,没必要创建Macro,除非你认为自己发出了一个更好的服务调用,但是平台已经为该函数性建立了支持。
在有些更为复杂的要求中,Office套件可能会要求访问基于SOAP/WSDL基础上的服务——早期处理流程RESTful类型服务的流程——Microsoft Of Open Office fice和Open Office都支持上述情况,Microsoft使用的是Office Web服务工具包,Open Office使用的是UNO Web服务代理。
不必为了某些内部明显的用途而将设计SOA所用的服务保存下来。通过在自己的office套件中创建应用,终端用户都可以利用相同的信息提高生产力水平。不管是微软的商业套件还是Open Office的免版税套件都可以做到这一点。