VBA 作为 Office 中使用的宏语言,已经快被淘汰了。它基于 Visual Basic 的 COM 版本,这种技术已经有十多年没有做出重大更新了。当然还有 Visual Studio Tools for Office,但是非专业人员无法使用它,并且由于 COM 和.NET 技术之间的不兼容,它非常难以使用。还有 SharePoint,对于非正式的开发者来说没有什么成功的案例。如果你需要在 Office 和 SharePoint 的本地版本中使用宏,那么最后你会处于混乱之中。
这正是 Napa 项目发挥作用的地方。 Somasegar 是这样介绍 Napa 的:
“Napa”为 Visual Studio 富客户端提供了一种轻量级的、基于浏览器的工具,它是开始 Office 和 SharePoint 开发的一种不错的方式,而且不需要在计算机中安装任何内容。它通过 http://dev.office.com/ 提供,支持构建针对 Office 和 SharePoint 的应用程序、能够深入到 Office 2013 应用程序(例如 Excel)的应用、Office 的 Web 应用(例如,Excel 的 Web 应用)以及 SharePoint 的应用。这些应用都基于新的云应用模型(Cloud App Model),其中 UI 和其他客户端逻辑都使用 Web 标准(例如,HTML、JavaScript、CSS)实现的,而后端逻辑会运行在服务器上,让开发者可以自由地选择开发工具、语言和部署环境。
使用简单的 JavaScript 可能会出现问题。即便是在理想的情况下,对于临时的用户来说,语言也没有 Visual Basic 那么友好。语法中长期存在不一致性、区分大小写以及使用字符而不是关键字,这些都会让程序员新手感到迷惑。这些问题都很难处理,但是使用 JavaScript 的方式就是这样。
为了创建一个按钮,我们需要一个函数来接受点击事件。这在所有语言里面都是类似的,而难点在于你如何绑定。在 VB(COM 或.NET)中,函数会以声明的方式附加到按钮上。在 C#中,我们可以使用事件处理器(event handler)语法,那需要一行代码。
在 Somasegar 提供的示例中,你需要为 Office.initialize 赋予匿名的函数。这个匿名函数会调用 $(document).ready,传入另一个匿名的函数。在那个函数中会存在第三个匿名函数,使用另一个 jQuery 操作附加到按钮的点击事件上。这种函数的嵌套对于熟练的 web 开发者是可以接受的,但是对于想要在 Excel 中创建简单的宏的开发者并不合适。
幸运的是,你不需要以那种方式来编写代码。正如在这个“概览”中能够看到的,我们可以选择使用上世纪九十年代就出现的传统JavaScript 技术。经过简单地介绍HTML 和 Office 的异步模型,开发者就能够编写简单的应用程序了。
使用Napa 需要你在 Office 365 开发者站点上注册。
查看英文原文: Introducing Napa – A Web Based IDE for Outlook/SharePoint
评论