Office アドインでの開発エラーのトラブルシューティング
Office アドインの開発中に発生する可能性がある一般的な問題の一覧を次に示します。
ヒント
多くの場合、Office キャッシュをクリアすると、古いコードに関連する問題が修正されます。 これにより、現在のファイル名、メニュー テキスト、およびその他のコマンド要素を使用して、最新のマニフェストがアップロードされます。 詳細については、「 Office キャッシュをクリアする」を参照してください。
アドインが作業ウィンドウで読み込まれない、または他のアドイン マニフェストの問題
アドインのマニフェストでの問題をデバッグするには、「Office アドインのマニフェストを検証する」および「ランタイム ログを使用してアドインをデバッグする」を参照してください。
リボンのカスタマイズが期待どおりにレンダリングされない
アドインをサイドロードして実行したら、アドインのリボン アイコンの URL をブラウザーのナビゲーション バーに貼り付け、アイコン ファイルが開いているかどうかを確認します。
既定では、Office UI に接続されているアドイン エラーは抑制されます。 これらのエラー メッセージは、次の手順で有効にすることができます。
- アドインが削除された状態で、Office アプリケーションの [ ファイル ] タブを開きます。
- [ オプション] を選択します。
- [ オプション ] ダイアログで、[ 詳細設定] を選択します。
- [ 全般 ] セクション (Outlook の [開発者 ] セクション) で、[アドイン のユーザー インターフェイス エラーの表示] を有効にします。
アドインをもう一度サイドロードし、エラーがあるかどうかを確認します。
リボン ボタンとメニュー項目が含まれているアドイン コマンドへの変更が反映されない
キャッシュをクリアすると、アドインのマニフェストの最新バージョンが確実に使用されるようになります。 Office キャッシュをクリアするには、「Office キャッシュをクリアする」の手順に従います。 Office on the webを使用している場合は、ブラウザーの UI を使用してブラウザーのキャッシュをクリアします。
古い開発アドインのアドイン コマンドは、キャッシュがクリアされた後もリボンに残ります
キャッシュをクリアした後でも、Office アプリケーションを実行するときに、以前に開発していたアドインのボタンやメニューがリボンに表示されることがあります。 次の手法を試してください。
- 複数のコンピューターでアドインを開発し、ユーザー設定がコンピューター間で同期されている場合は、すべてのコンピューターで Office キャッシュをクリア してみてください。 すべてのコンピューター上のすべての Office アプリケーションをシャットダウンし、すべてのコンピューターでキャッシュをクリアしてから、いずれかの Office アプリケーションを開きます。
- 古いアドインのマニフェストをネットワーク共有に発行した場合は、すべての Office アプリケーションをシャットダウンし、キャッシュをクリアしてから、アドインのマニフェストが共有フォルダーから削除されていることを確認します。
JavaScript、HTML、CSS などの静的ファイルへの変更は有効になりません
ブラウザーがこれらのファイルをキャッシュしている可能性があります。 これを防ぐには、開発時にクライアント側のキャッシュをオフにします。 詳細は、使用しているサーバーの種類によって異なります。 ほとんどの場合、HTTP 応答に特定のヘッダーを追加する必要があります。 次のセットをお勧めします。
- Cache Control: 「プライベート、キャッシュなし、ストアなし」
- Pragma: 「no-cache」
- 有効期限: 「-1」
Node.JS Express サーバーでこれを行う例については、「この app.js ファイルについて」を参照してください。 ASP.NET プロジェクトの例については、「この cshtml ファイルについて」を参照してください。
アドインがインターネット インフォメーション サービス (IIS) にホストされている場合は、次を web.config に追加することもできます。
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="0.00:00:00" cacheControlCustom="must-revalidate" />
</staticContent>
これらの手順が最初に動作しない場合は、ブラウザーのキャッシュをクリアする必要がある場合があります。 これは、ブラウザーの UI を使用して行います。 画面の端の UI でエッジ キャッシュをクリアしようとすると、正常にクリアされないことがあります。 その場合は、Windows コマンド プロンプトで次のコマンドを実行します。
del /s /f /q %LOCALAPPDATA%\Packages\Microsoft.Win32WebViewHost_cw5n1h2txyewy\AC\#!123\INetCache\
プロパティ値に加えられた変更は発生せず、エラー メッセージも表示されません
プロパティの参照ドキュメントを確認して、読み取り専用かどうかを確認します。 また、Office JS の TypeScript 定義 では、読み取り専用のオブジェクト プロパティを指定します。 読み取り専用プロパティを設定しようとすると、書き込み操作はサイレントモードで失敗し、エラーはスローされません。 次の例では、読み取り専用プロパティを誤って Chart.id 設定しようとしています。「 一部のプロパティを直接設定できない」も参照してください。
// This will do nothing, since `id` is a read-only property.
myChart.id = "5";
エラーが発生する: "このアドインは使用できなくなりました"
このエラーの原因の一部を次に示します。 その他の原因が判明した場合は、ページの下部にあるフィードバック ツールを使用してご連絡ください。
- Visual Studio を使用している場合は、サイドローディングに問題がある可能性があります。 Office ホストと Visual Studio のすべてのインスタンスを閉じます。 Visual Studio を再起動し、F5 キーをもう一度押してみてください。
- アドインのマニフェストは、一元展開、SharePoint カタログ、ネットワーク共有など、展開場所から削除されています。
- マニフェストの ID 要素の値は、デプロイされたコピーで直接変更されました。 何らかの理由でこの ID を変更する場合は、まず Office ホストからアドインを削除してから、元のマニフェストを変更したマニフェストに置き換えます。 多くの場合、元のトレースをすべて削除するには、Office キャッシュをクリアする必要があります。 オペレーティング システム のキャッシュをクリアする 手順については、Office キャッシュのクリアに関する記事を参照してください。
- アドインのマニフェストには、マニフェストの [リソース] セクションのどこにも定義されていない
resid
があります。または、使用される場所と <Resources> セクションで定義されている場所の間にresid
のスペルが一致しません。 - マニフェストのどこかに 32 文字を超える
resid
属性があります。resid
属性と、<Resources> セクション内の対応するリソースのid
属性は、32 文字以下にすることはできません。 - アドインにはカスタム アドイン コマンドがありますが、サポートされていないプラットフォームで実行しようとしています。 詳細については、「 アドイン コマンド要件セット」を参照してください。
アドインは Edge では機能しませんが、他のブラウザーで動作します
「EdgeHTML と WebView2 (Microsoft Edge) の問題のトラブルシューティング」を参照してください。
Excel アドインはエラーをスローしますが、一貫してスローしません
考えられる原因については、「 Excel アドインのトラブルシューティング 」を参照してください。
アドインWordエラーがスローされるか、壊れた動作が表示されます
考えられる原因については、「Word アドインのトラブルシューティング」を参照してください。
Visual Studio プロジェクトのマニフェスト スキーマ検証エラー
マニフェスト ファイルの変更を必要とする新しい機能を使用している場合は、Visual Studio で検証エラーが発生する可能性があります。 たとえば、共有ランタイムを実装するために <Runtimes> 要素を追加すると、次の検証エラーが表示されることがあります。
名前空間 'http://schemas.microsoft.com/office/taskpaneappversionoverrides' の要素 'Host' には、名前空間 'http://schemas.microsoft.com/office/taskpaneappversionoverrides' に無効な子要素 'Runtimes' があります
この場合は、Visual Studio で使用される XSD ファイルを最新バージョンに更新できます。 最新のスキーマ バージョンは [MS-OWEMXML]: 付録 A: 完全な XML スキーマにあります。
XSD ファイルを見つける
- Visual Studio でプロジェクトを開きます。
- ソリューション エクスプローラーで、manifest.xml ファイルを開きます。 マニフェストは通常、ソリューションの下の最初のプロジェクトにあります。
- [ 表示>プロパティ ウィンドウ (F4)] を選択します。
- [ プロパティ ] ウィンドウに XML ドキュメント プロパティが表示されるように、manifest.xml でカーソルの選択を設定します。
- [ プロパティ ] ウィンドウで[ スキーマ ] プロパティを選択し、省略記号 (...) を選択して XML スキーマ エディターを開きます。 ここでは、プロジェクトで使用するすべてのスキーマ ファイルの正確なフォルダーの場所を確認できます。
XSD ファイルを更新する
- 更新する XSD ファイルをテキスト エディターで開きます。 検証エラーのスキーマ名は、XSD ファイル名に関連付けられます。 たとえば、 TaskPaneAppVersionOverridesV1_0.xsd を開きます。
- [MS-OWEMXML]: 付録 A: 完全な XML スキーマで更新されたスキーマを見つけます。 たとえば、TaskPaneAppVersionOverridesV1_0は taskpaneappversionoverrides スキーマにあります。
- テキストをテキスト エディターにコピーします。
- 更新された XSD ファイルを保存します。
- Visual Studio を再起動して、新しい XSD ファイルの変更を選択します。
以前のプロセスは、古いスキーマに対して繰り返すことができます。
オフラインで作業する場合、Office API は機能しません
CDN ではなくローカル コピーから Office JavaScript ライブラリを読み込むと、ライブラリが最新でない場合、API が動作しなくなる可能性があります。 しばらくプロジェクトから離れている場合は、ライブラリを再インストールして最新バージョンを取得します。 プロセスは IDE によって異なります。 環境に基づいて、次のいずれかのオプションを選択します。
-
Visual Studio: NuGet パッケージを更新するには、次の手順に従います。
- [ ツール>NuGet パッケージ マネージャー>ソリューションの Nuget パッケージの管理] を選択します。
- [更新] タブを選択します。
- [Microsoft.Office.js] を選択します。 パッケージ ソースが nuget.org からであることを確認します。
- 左側のウィンドウで、[ インストール ] を選択し、パッケージの更新プロセスを完了します。
- その他の IDE: @microsoft/office-js および @types/office-js の最新の npm パッケージ を取得します。
関連項目
Office Add-ins