JavaScriptで誰でも簡単に作って稼げる「Officeアドイン」とは?:特集:Officeストアで世界に飛び出そう! 最新Office 2013アプリ開発入門(前編)(2/4 ページ)
最新のOffice 2013向けのOfficeアプリはJavaScriptで記述できる。作ったアプリはOfficeストア経由で世界に販売できる。そのOfficeアプリの概要とプログラミングの基礎を解説する。
Officeアドインの動作
では、Officeアドインの使い方と動作をユーザーの目線で簡単に見てみよう。
Officeアドインでは、「作業ウィンドウ・アドイン(Task pane Add-ins)」「コンテンツ・アドイン(Contents Add-ins)」「メール・アドイン(Mail Add-ins)」という3種類のアプリが使用できる。ただし、これまでマクロ、VBA、VSTOなどでできていたことが、そのまま実現できるわけではないので注意してほしい(これについては、次回、解説する)。
●作業ウィンドウ・アドイン
それでは、作業ウィンドウ・アドインの簡単な使い方を見てみよう。
まず前提知識として、新しいOffice 2013では、ログイン中のユーザーのコンテキストがアプリの動きに大きく影響するので注意してほしい。今回、Officeストアで公開されているOfficeアドインを使用するが、そのためには、まず、Office自体にMicrosoftアカウント(旧Windows Live ID)でログインする必要がある。Word 2013を開き、画面右上のログインしているユーザーを確認して(次の画面を参照)、もしログインしていない場合には、Microsoftアカウントでログインしておこう。
この状態で、次の画面のようにリボンの[挿入]から[マイ アドイン]−[すべて表示]を選択する。
Officeアドインを初めて利用する場合には、次の画面のとおり、まだ何も表示されないので、[Office ストア]ボタンをクリックして、(既定のWebブラウザが自動起動して)OfficeストアのWebページに進む。
なお、本稿の執筆時点(2013年1月)では、まだ英語版のOfficeストア(プレビュー版)しかリリースされていないため、日本語のページが表示されたら、画面右上にある「日本」をクリックして言語を「United States - English」(英語)に切り替えてほしい(将来的にはもちろん、日本語のOfficeストアもリリースされる予定だ)。
Officeストア上には、すでに海外で構築された数多くのOfficeアドインが表示される(次の画面)。
ここでは例として、Webページ内の検索ボックスに「Bing」と入力して(実際に検索する前に、Officeストア上でサインインしておく必要がある)、「Bing News Search」(=無料のOfficeアドイン)を探してその項目を開き、[Add]ボタンをクリックしてほしい(その次に[Continue]ボタンをクリックする)。
以上の手順により、クライアント(つまり、Word 2013)ではなく、クラウド上のMicrosoftアカウントに、「使用するOfficeアドイン」としてこの情報が追加される。Word 2013で、再度、リボンの[挿入]から[マイ アドイン]−[すべて表示]を選択すると、今度は、個人用アプリとして「Bing News Search」が表示される(次の画面)。この情報は、クラウド上(のMicrosoftアカウント)で管理されているため、このMicrosoftアカウントでログインすると、どのPCのWord 2013からでも、このOfficeアドインが見えるようになる。
この画面で「Bing News Search」を選択して、右下にある[挿入]ボタンを押すと、Wordのドキュメントに、作業ウィンドウとしてこのアプリが挿入される(次の画面の右ウィンドウを参照)。
このOfficeアドインは、Word 2013のドキュメント上で文字を選択すると、それに関するニュース情報を検索して作業ウィンドウに表示する。また、表示された情報の[+]をクリックすると、逆にWord文書にニュースの内容が書式付きで挿入される。
このアプリが実用的か否かは別として、このサンプルが示すように、Officeアドインでは、コンテンツ(文書)からの読み込み、書き込み、さらにイベント処理(上記の場合、「選択された」というイベント)を組み合わせてアプリを構築できることが分かる。
●コンテンツ・アドイン
次に、コンテンツ・アドインを見てみよう。
コンテンツ・アドインとは、Excelのシート内などにコンテンツそのものとして挿入されるアプリのことだ。挿入方法は前述と同様なので省略するが、ここではOfficeストアから無料で入手できる「Bing Maps」のOfficeアドインをExcelシートに挿入した(次の画面)。
さらに、上の画面左側に表示されている表に行を挿入して、開催地(今回の例では「秋葉原」)を追加してみよう。すると、次の画面のとおり、同時に地図も更新される。ここでもイベント処理が実装されていることが分かる。
さらに重要な点は、単にExcelの行番号や列番号で領域を参照しているのではなく、「Bing Mapsの地図と連携しているExcel上の領域がどこであるか」という論理的な情報が保持されている点だ。このため、行を追加/削除したり、列を追加/削除したりした場合でも、表の内容に合わせた地図の更新が行われる(Excelの表のオブジェクトとして作成しておく必要もない)。これは、Officeアドインの「バインド」と呼ばれる実装(プログラミング)手法だ。
●メール・アドイン
最後に、メール・アドインを見てみよう。
メール・アドインは、上述した2つとは異なり、Exchange Server 2013(もしくは、次期版のOffice 365 Exchange Online)にOfficeアドインを登録して使用する。実際に、Exchange Server 2013(もしくは、次期版のOffice 365 Exchange Online)を使用すると、次の画面のとおり、Outlook用のBing Mapsが既定で設定されているため、今回はこのアプリの動作を確認してみよう(メール・アドインの追加方法については、この後、配布に関する説明で解説する)。
例えば本文に、住所の情報(文字列)を挿入してメールを送信してみよう(現在、残念ながら英語版にしか対応していないため、英語の住所を設定してほしい)。受け取ったメールをOutlook 2013で閲覧すると、次の画面のように住所の文字列にリンクが表示される。
このリンクをクリックすると、次の画面のとおり、Bing Mapsによって該当の場所が表示される。
メール・アドインでは、上記のとおり、メールや予定のタイトル(Subject)や本文(Body)に含まれる正規表現などをトリガーとして、Officeアドインを表示するようになっている(なお、全てのメールや、全ての予定などで表示されるOfficeアドインを構築することも可能だ)。
Officeアドインの対象となるOffice製品は、本稿の執筆時点(2013年1月)では、Excel、Word、PowerPoint、Project、Outlookであり、それぞれ下記の表に示すタイプのアプリを作成できる。
作業ウィンドウ・アドイン | コンテンツ・アドイン | メール・アドイン | |
---|---|---|---|
Excel | ○ | ○ | |
Word | ○ | ||
PowerPoint | ○ | ||
Project | ○ | ||
Outlook | ○ | ||
各Office製品向けに作成可能なアプリのタイプ(「○」の項目は作成可能、それ以外は不可能) |
つまり、コンテンツ・アドインはExcelのためのアプリで、メール・アドインはOutlookのためのアプリである。作業ウィンドウ・アドインは、そのほかのOfficeクライアントで使用可能な共通的なアプリのスタイルであると考えてよいだろう。
以上、このページでは、ユーザー目線でOfficeアドインを見てきた。次のページでは、プログラマーの視点でOfficeアドインを見ていこう。
Copyright© Digital Advantage Corp. All Rights Reserved.