Excel JavaScript API を使用して Excel アドインのメモを管理する

ブックに単純なセルベースの注釈が必要な場合は、メモを使用します。 この記事では、Excel JavaScript API を使用してノートを追加、表示、編集、サイズ変更、削除する方法について説明します。

返信とメンションを含む会話スレッドが必要な場合は、「 Excel JavaScript API を使用して Excel アドインのコメントを管理する」を参照してください。 Excel の 2 つのノート システムを比較するには、「 スレッドコメントとノートの違い」を参照してください。

ノートでできること

Excel ノート API を使用して、次の手順を実行します。

  • 1 つのセルにメモを追加します。
  • ノート コンテンツを表示または非表示にします。
  • ノート テキストを更新します。
  • ノートのサイズを変更します。
  • メモを削除します。

ノートは個々のセルに関連付けられています。 十分なアクセス許可を持つブックを表示するすべてのユーザーがメモを表示できます。 ブック内のメモは、 Workbook.notes プロパティによって追跡されます。 これには、ユーザーによって作成されたメモと、アドインによって作成されたメモも含まれます。 Workbook.notes プロパティは、Note オブジェクトのコレクションを含む NoteCollection オブジェクトです。 ノートには 、ワークシート レベルでもアクセスできます。

ヒント

スレッドディスカッションの詳細については、「 Excel JavaScript API を使用して Excel アドインのコメントを管理する」を参照してください。

メモを追加する

ブックにメモを追加するには、 NoteCollection.add メソッドを使用します。 このメソッドは、次の 2 つのパラメーターを受け取ります。

  • cellAddress: ノートが追加されるセル。 これは、文字列または Range オブジェクトのいずれかです。 範囲は 1 つのセルである必要があります。
  • content: ノートコンテンツを文字列として指定します。

次のコード サンプルは、ワークシート内の選択したセルにメモを追加する方法を示しています。

await Excel.run(async (context) => {
    // This function adds a note to the selected cell.
    const selectedRange = context.workbook.getSelectedRange();

    // Note that an InvalidArgument error is thrown if multiple cells are selected.
    context.workbook.notes.add(selectedRange, "The first note.");
    await context.sync();
});

ノートの表示設定を変更する

既定では、ユーザーがノートを含むセルの上にマウス ポインターを置くか、ブックにノートを表示するように設定しない限り、ノートの内容は非表示になります。 メモを表示するには、 Note.visible プロパティを使用します。 次のコード サンプルは、ノートの可視性を変更する方法を示しています。

await Excel.run(async (context) => {
    // This function sets the note on cell A1 to visible.
    const sheet = context.workbook.worksheets.getActiveWorksheet();
    const firstNote = sheet.notes.getItem("A1");

    firstNote.visible = true;
    await context.sync();
});

ノートの内容を編集する

ノートの内容を編集するには、 Note.content プロパティを使用します。 次の例は、 NoteCollectionの最初のノートの内容を変更する方法を示しています。

await Excel.run(async (context) => {
    // This function changes the content in the first note.
    const sheet = context.workbook.worksheets.getActiveWorksheet();
    const note = sheet.notes.getItemAt(0);

    note.content = "Changing the content of the first note.";
    await context.sync();
});

注:

メモの作成者を取得するには、 Note.authorName プロパティを使用します。 作成者名は読み取り専用プロパティです。

ノートのサイズを変更する

ノートを大きくまたは小さくするには、 Note.height プロパティと Note.width プロパティを使用します。

次の例は、 NoteCollectionの最初のノートのサイズを設定する方法を示しています。

await Excel.run(async (context) => {
    // This function changes the height and width of the first note.
    const sheet = context.workbook.worksheets.getActiveWorksheet();
    const note = sheet.notes.getItemAt(0);

    note.width = 400;
    note.height = 200;

    await context.sync();
});

メモを削除する

メモを削除するには、 Note.delete メソッドを使用します。 次の例は、セル A2 にアタッチされているノートを削除する方法を示しています。

await Excel.run(async (context) => {
    // This function deletes the note from cell A2.
    const sheet = context.workbook.worksheets.getActiveWorksheet();
    const note = sheet.notes.getItem("A2");

    note.delete();
    await context.sync();
});

関連項目