Office アドイン

[Officeアドイン]マニフェストファイルをデバッグする方法

Office アドイン本体はF12ツール等を使ってデバッグすることができますが、マニフェストファイルのデバッグで使えるツールは「Office App Compatibility Kit」くらいしかなく、記述にミスがあるとアドインが認識すらしないことがよくありました。

しかし、Office 2016(16.0.7019以降)でついにマニフェストファイルのデバッグ機能が追加されました。

機能の有効化

  1. レジストリエディタを起動します。
  2. HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\WEF\Developer\RuntimeLogging」キー(キーがない場合は自分で追加)の既定値に、ログファイルのフルパスを記述します(例:C:\log\manifest.log)。
  3. debug_manifest_01

RuntimeLoggingキーを設定した後、下記のような記述に誤り(IconUrl要素のDefaultValue属性の値が不正)があるマニフェストファイルを読み込むと、

<?xml version="1.0" encoding="utf-8"?>
<OfficeApp xmlns=
  "http://schemas.microsoft.com/office/appforoffice/1.1"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:type="TaskPaneApp">
  <Id>bed2652a-7c2e-4c25-950a-0eb94fa763ca</Id>
  <Version>1.0.0.0</Version>
  <ProviderName>kinuasa</ProviderName>
  <DefaultLocale>ja-JP</DefaultLocale>
  <DisplayName DefaultValue="Sample App" />
  <Description DefaultValue="Sample App" />
  <IconUrl DefaultValue="http://localhost/apps/icon.XYZ" />
  <Hosts>
    <Host Name="Document" />
  </Hosts>
  <DefaultSettings>
    <SourceLocation DefaultValue="http://localhost/apps/sample.html" />
  </DefaultSettings>
  <Permissions>ReadWriteDocument</Permissions>
</OfficeApp>

アプリケーションではもちろんアドインが読み込まれませんが、RuntimeLoggingキーで指定したログファイルにはマニフェストファイルを読み込んだ時のログが記録されています。

debug_manifest_02

debug_manifest_03

2016/07/27 9:33:52	Medium	Web Add-In Runtime Logging Session Started			
2016/07/27 9:33:52	Unexpected	Failed to parse manifest for add-in ID : bed2652a-7c2e-4c25-950a-0eb94fa763ca	Error at element "IconUrl" : Unsupported image file format: http://localhost/apps/icon.XYZ	Line 12	Char Pos 4
2016/07/27 9:33:55	Unexpected	Failed to parse manifest for add-in ID : bed2652a-7c2e-4c25-950a-0eb94fa763ca	Error at element "IconUrl" : Unsupported image file format: http://localhost/apps/icon.XYZ	Line 12	Char Pos 4

これを見るとマニフェストファイルのどの部分で躓いたのかが一目瞭然、すぐに修正することができます。
これまでマニフェストファイルの設定で苦労されたOffice アドイン開発者の方は是非お試しください。

ちなみに、上記ログ機能はパフォーマンスに影響を及ぼすらしいので、不要な時はRuntimeLoggingキーを削除、必要な時だけキー設定して機能を有効化するようにしてください。

参考Webサイト


2017/4/19 追記:
マニフェストの検証ツール「Office Add-in Manifest Validator」についても記事を書きました。

Excelで「Classic Menu」タブが表示されなくなるトラブルについて前のページ

[Excel]別インスタンスからの貼り付け時のダイアログを非表示にする方法次のページ

関連記事

  1. Office関連

    Visio Onlineで図の作成・編集ができるようになりました。

    しばらくVisio Onlineを使っていなかったので気が付かなかった…

  2. アイコン一覧

    Office 365アイコン(imageMso)一覧を作成するにあたって

    Office 2013のアイコン一覧を公開してから4年ほど経ち、その間…

  3. Office関連

    Instagram APIをVBAから呼び出してみる。

    最近画像共有系のSNS、Instagram(インスタグラム)を使い始め…

  4. Office関連

    未読メッセージ数を取得するOutlookマクロ

    Outlook 2007で追加されたFolderオブジェクトのUnRe…

  5. Office関連

    PowerShellからClosedXMLを使ってExcelファイルを作成する方法

    以前C#からClosedXMLを使ってExcelファイルを操作する方法…

  6. Office アドイン

    Office 365でVisio JavaScript APIsを試してみました。

    昨年末にVisio Onlineの機能をJavaScriptで拡張する…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

PAGE TOP