この記事は “Yet Another Internet Explorer Advent Calendar 2013” の 21 日目です。
今日は「Apps for Office サミット」という勉強会に参加してきました。その復習を兼ねて、Apps for Office についてまとめてみたいと思います。
Apps for Office (日本語だと Office 用アプリ) は Microsoft Office 2013 から加わった、新しい Office アプリケーションの自動化の仕組みです。Microsoft Word や Excel などの Office アプリケーションの自動化 (オートメーション) の方法としては、古くから利用されている VBA (Visual Basic for Application) や、Office 2003 以降で利用可能な VSTO (Visual Studio Tools for Office) がありましたが、Apps for Office はそれに追加される機能です。
Microsoft は Apps for Office は VBA や VSTO と競合する機能ではなく補完的な機能であるため、将来的にも VBA や VSTO にゆるソリューションをサポートしていく事を表明しています。
タイトルにも書かれていますが、Apps for Office は HTML5 とJavaScript で作成します。と言うより、HTML5 + CSS3 + JavaScript で構成されるモダンな Web アプリケーションが Office アプリケーションの中でホストされ、Office アプリケーションのデータと連携できるようになっていると言っても良いでしょう。実際に Office アプリケーション内で動作している Apps for Office の画面は Web ページです。
以下に VBA、VSTO、Apps for Office を簡単に比較してみました。
開発言語 |
目的 |
備考 |
|
VBA | Visual Basic 6.0 風専用言語 | ユーザーのアドホックな作業オートメーション | Office アプリケーションに 組み込み |
VSTO | Visual Basic .NET / C# | UI のカスタマイズ Office アプリケーションの機能拡張とオートメーション |
.NET Framework アセンブリとして作成 |
Apps for Office | HTML5 + JavaScript | Office アプリケーションの軽量な機能拡張 | Web アプリケーション として作成 |
より詳しい比較表がこちらの記事中にあります
Apps for Office は XML ファイルとして記述されたアプリ マニフェストと、Web サーバーでホストされる Web ページから成り立っています。
(http://msdn.microsoft.com/JA-JP/library/jj220082.aspx から引用)
アプリ マニフェストにはそのアプリの実体となる Web アプリケーションの URL の他、利用可能な Office アプリケーションの種類 (Word 用とか Wxcel 用とかの指定)、アプリに許可される権限などを記述します。ユーザーがこのマニフェストをドキュメントに挿入することで Apps for Office がインストールされ利用可能になります。アプリ マニフェストは Microsoft が運営している Office ストアに登録して公開する他、組織内で独自のアプリ カタログを (Sharepoint やファイル共有により) 公開することもできます。そのため一般向けのアプリとして広く公開する (場合によってはストアの機能を利用して課金する) 事、企業内で独自のアプリを展開する事、どちらも可能です。
Office アプリケーションはアプリ マニフェストがドキュメントに挿入されると、その内容を確認して Web アプリケーションの URL にリクエストを行います。取得された Web アプリケーションは、HTML と JavaScript (と CSS) が Internet Explorer のレンダリング エンジン (Trident) と JavaScript エンジン (Chakra) によってレンダリング / 実行されて動作されます。もちろん Trident や Chakra は Office アプリケーションが作成するサンド ボックス内で実行され、他のアプリケーションや他の Internet Explorer のインスタンスとは分離されます。
Web アプリケーションとして動作する際の機能とパフォーマンスを確保するため、 Apps for Office の利用には Internet Explorer 9 以上が必要です。Windows 7 に Office 2013 をインストールする場合、標準の Internet Explorer 8 ではなく、Internet Explorer 9 以上にアップグレードする必要があります。
また同じ Windows 7 でもインストールされている Internet Explorer のバージョンにより、Apps for Office で利用可能な HTML / CSS / JavaScript の機能に違いが生じます。
このような仕組みで動作するため、Apps for Office では Internet Explorer で利用可能な Web 標準の HTML5 や JavaScript の機能を基本的にすべて利用する事ができます。もちろん jQuery などのライブラリを利用する事も可能です。そのため既存の Web アプリケーションを Apps for Office に再構成する事も難しくありません。
(明日以降続きを追加します)
[…] ・HTML5 と JavaScript で作る Apps for Office | Hebikuzure’s Tech Memo https://hebikuzure.wordpress.com/2013/12/21/html5-%E3%81%A8-javascript-%E3%81%A7%E4%BD%9C%E3%82%8B-ap… ・Apps for Office サミット!(HTML5, Excel, Word, […]
ピンバック by [Office用アプリ]Apps for Office サミット!で登壇しました。 | 初心者備忘録 — 2013年12月24日 @ 2:56 午後