※ この情報はOffice 2013 カスタマー プレビュー版を元にしています。製品版では変更になる可能性がありますのでご注意ください。
Overview of apps for Officeの「Supported app types」にもありますが、作業ウィンドウのアプリ(Task pane apps)はExcel、Word、Projectに対応しています。
当ブログではこれまでExcelのアプリのみを扱ってきましたが(カテゴリー:JavaScript API for Office参照)、今回はアプリをWordにも対応させてみようと思います。
使用するファイルは「JavaScriptでExcel 2013用作業ウィンドウのアプリを作成する。(3)」で使用している「HelloWorld.html」「program.css」「HelloWorld.xml」「HelloWorld.js」の4つのファイルで、今回変更するのは「HelloWorld.xml」ファイルだけです。
上記4つのファイルを用意し、「JavaScriptでExcel 2013用作業ウィンドウのアプリを作成する。(2)」の通りにアプリケーション カタログの設定を行っても、Excelではアプリを挿入できますがWordではアプリを挿入することができません。
そこで、「HelloWorld.xml」ファイルをテキストエディタで開き、Capabilities要素の子要素としてCapability要素を追加し、Name属性の値を”Document“とします。
・HelloWorld.xml
<?xml version="1.0" encoding="UTF-8"?> <OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="TaskPaneApp"> <Id>dc0b801d-f0ba-4045-b260-09d3729e6ea1</Id> <Version>1.0</Version> <ProviderName>kinuasa</ProviderName> <DefaultLocale>en-US</DefaultLocale> <DisplayName DefaultValue="HelloWorld" /> <Description DefaultValue="My first app."/> <IconUrl DefaultValue="http://officeimg.vo.msecnd.net/_layouts/images/general/office_logo.jpg" /> <Capabilities> <Capability Name="Document"/> <Capability Name="Workbook" /> </Capabilities> <DefaultSettings> <SourceLocation DefaultValue="\\XXXX\Apps\HelloWorld.html" /> </DefaultSettings> <Permissions>ReadWriteDocument</Permissions> </OfficeApp>
ファイルを上書き保存後、再びWordでアプリケーションの挿入を確認すると、今度はアプリを挿入できるようになっています(※ カタログに表示されない場合は、アプリケーションの挿入ウィンドウにある「更新」リンクをクリックしてください)。
「OK」ボタンをクリックしてアプリの動作を確認すると、Excelと同様に選択位置に文字列「Hello world!!」が挿入されることが確認できます。
以上のように、カタログ用XMLファイルでCapability要素を設定することで対応アプリを追加・変更することができます。
・TaskPaneAppCapabilities simpleType (apps for Office)
http://msdn.microsoft.com/en-us/library/fp123664%28v=office.15%29.aspx
その他、apps for OfficeのXMLスキーマに関しては、下記Webページ「Schema reference for apps for Office manifests」をご参照ください。
・Schema reference for apps for Office manifests
http://msdn.microsoft.com/en-us/library/fp123693%28v=office.15%29
この記事へのコメントはありません。