Word アドインのトラブルシューティング
この記事では、Word固有の問題のトラブルシューティングについて説明します。 ページの最後にあるフィードバック ツールを使用して、この記事に追加できるその他の問題を提案します。
選択したすべての範囲が認識されない
連続しない選択が行われた場合、Word API は選択範囲の最後の連続した範囲でのみ動作します。 予期しないケースは、テーブル内の列を選択してから Document.getSelection を呼び出すと、選択範囲の最後のセルのみが API によって返される場合です。 列の選択は連続しているように見えますが、API はそれを連続しない選択 (行ごとのセルなど) として認識します。
連続しない選択を行う方法の一般的な詳細については、「 互いに隣り合っていない項目を選択する方法」を参照してください。
Body.insertFileFromBase64 でヘッダーまたはフッターが挿入されない
Body.insertFileFromBase64 メソッドでは、ソース ファイルにあったヘッダーまたはフッターが除外されます。
ソース ファイルのヘッダーまたはフッターを含める場合は、代わりに Document.insertFileFromBase64 を使用します。
スタイルを操作するときに GeneralException を取得する
アドインが Document.insertFileFromBase64 または Style API を呼び出すときにユーザーが GeneralException に達している場合、それらのユーザーがWord アプリケーションによって課される制限を超えている可能性があります。 これらの制限の詳細については、Wordの「オペレーティング パラメーターの制限事項と仕様」を参照してください。
カーソルがヘッダーのコンテンツ コントロールにある間にを使用 insertHtml
すると、レイアウトが中断する
この問題は、次の 3 つの条件が満たされた場合に発生する可能性があります。
- ヘッダーに少なくとも 1 つのコンテンツ コントロールを、Word ドキュメントのフッターに少なくとも 1 つ含めます。
- カーソルがヘッダーのコンテンツ コントロール内にあることを確認します。
- insertHtml を呼び出して、フッターにコンテンツ コントロールを設定します。
その後、フッターが予期せずヘッダーと混在します。 これを回避するには、次のコード サンプルに示すように、フッターのコンテンツ コントロールを設定する前にクリアします。
await Word.run(async (context) => {
// Credit to https://github.com/barisbikmaz for this version of the workaround.
// For more information, see https://github.com/OfficeDev/office-js/issues/129.
// Let's say there are 2 content controls in the header and 1 in the footer.
const contentControls = context.document.contentControls;
contentControls.load();
await context.sync().then(function () {
// Clear the 2 content controls in the header.
contentControls.items[0].clear();
contentControls.items[1].clear();
// Clear the control control in the footer then update it.
contentControls.items[2].clear();
contentControls.items[2].insertHtml('<p>New Footer</p>', 'Replace');
});
});
リストまたは最後の段落の最後の行頭文字の書式設定が失われました
リスト内の最後の行頭文字または最後の段落の書式が指定した本文または範囲で失われた場合は、Body.insertFileFromBase64 または Range.insertFileFromBase64 を使用している場合にチェック。 その場合は、代わりに Document.insertFileFromBase64 を使用するようにコードを更新します。
応答の null プロパティ値の意味
null
は、Word JavaScript API に特別な影響を与えます。 既定値を表したり、書式設定を行ったりするために使用されます。
color などの書式設定プロパティには、指定した範囲に異なる値が存在する場合の応答に値が含まれますnull
。 たとえば、範囲を取得してその range.font.color
プロパティを読み込む場合:
- 範囲内のすべてのテキストのフォントの色が同じ場合は、
range.font.color
その色を指定します。 - 範囲内に複数のフォントの色がある場合、
range.font.color
はnull
です。
関連項目
Office Add-ins