マニフェストファイルのサイドロード
”Office Add-in”をつくるにあたって、開発用に読み込むことは必須です。
それにはマニフェストファイルを「サイドロード」しろと書いてあるのですが、なかなか不親切で行き詰るところもあったので、情報をまとめてみます。
# Officeの種類による違い
デスクトップ版とオンライン版でやり方が違います。
より簡単なのはオンライン版でしょう。
# オンライン版にサイドロード
オンライン版の場合の手順は次のとおりです。
- ファイルを開く
- 「挿入」をクリック
- 「アドイン」をクリック
- 「個人用アドインの管理」をクリック
- 「マイアドインのアップロード」をクリック
上記の手順で、アップロード用のダイアログを出すことができます。
あとはXMLファイルを選ぶだけでサイドロードは完了です。オンラインのWordに新しい機能を追加することができます。
また、開発用サーバー(localhost)でも、きちんとマニフェストに記述してあれば開くことができました。
VBA(マクロ)の使えないオンライン版Wordでも、自動化の道が開けるかもしれません。
# オンライン版Officeからアンインストール
ちなみに。。。
「きちんとアンインストールできるのか」という点も、開発中は気になりますよね。
これも情報が少なくて苦労しました。
なにせ、
「ストアに並んでいるAdd-in」 と 「サイドロードしたAdd-in」 はアンインストールの方法が違うのです。
前者の場合は、「個人用アドインの管理」から「マイアカウント」に入ることでアンインストールすることができます。ところが後者は、「マイアカウント」の画面にも出てきません。
一体どこにあるのか……
と探し回ったところ、ついに見つけました。
なんと、サイドロードしたマニフェストファイルは「ブラウザのキャッシュ」として保存されているのだとか!
なので、ブラウザのキャッシュをクリアしてあげることで、無事、アンインストールすることができました。
# デスクトップ版にサイドロード
さて、次が本命。デスクトップ版にサイドロードする方法です。
これには何種類か方法があります。
- CLIを使う
- Wordのセキュリティセンターから設定する
- レジストリをいじる
順番に行きましょう。
# CLIを使う
まずはCLIを使う方法。
これは「マニフェストファイルをつくる」で説明した方法で、
npm start
と打ち込んで実行する方法です。
npmを使って環境を準備しているときは一番手っ取り早い方法です。
ただし、CLIから開かれるファイルでしか使えないので、少し不便もあります。
# Wordのセキュリティセンターから設定する
次にWordのセキュリティセンターから設定する方法。
これが公式ドキュメントに書かれている方法です。
https://docs.microsoft.com/ja-jp/office/dev/add-ins/testing/create-a-network-shared-folder-catalog-for-task-pane-and-content-add-ins
この方法を使えば、共有フォルダをつくるだけでサイドロードが完了します。
また、共有フォルダには複数のマニフェストファイルを入れることができます。
平行して複数の開発が進行している場合などは、まとめて入れておくといいでしょう。
さらに、実は共有フォルダと似た機能でも実現できます。
例えば、Sambaを使ってファイルサーバーを作ったり、NASのファイルパスも受け付けてくれました。
この方法は、一度オプションで設定しておけば、マニフェストの管理(追加/削除)が楽になるのがメリットです。
ただ、共有フォルダの場所を変えたいときはWordの再起動が必要になります。
# レジストリをいじる
最後に、レジストリをいじる方法も紹介します。
前回、少し触れましたが、CLIからの読み込みは、どうやらレジストリを変更している個所があるようです。
その設定は、取っておいたエラー出力を見てみましょう。
"C:\My Office Add-in\manifest.xml" in key "HKCU\SOFTWARE\Microsoft\Office\16.0\Wef\Developer".
ですね。
このレジストリキーに、マニフェストのファイルパスを設定してやれば、Wordを立ち上げるたびにマニフェストを読み込んでくれます。
レジストリをいじるときは必ずバックアップを取りましょう! 自己責任!
サイドロードとアンインストールを知って、より良いOffice Add-inライフを!
# PR
JavaScript 至極の入門書!すぐに動かして楽しめるVue/Nuxtもオススメ!

ゴールデンブリッジでは、
翻訳・通訳・インバウンドツアー・国際会議運営など
ご用命をお待ちしております!
また、翻訳に関わるツール・ソフトウェアの開発等についてもお気軽にお声掛けください。