Excel.Comment class

Represents a comment in the workbook.

Extends

Remarks

[ API set: ExcelApi 1.10 ]

Properties

authorEmail

Gets the email of the comment's author.

authorName

Gets the name of the comment's author.

content

The comment's content. The string is plain text.

contentType

Gets the content type of the comment.

context

The request context associated with the object. This connects the add-in's process to the Office host application's process.

creationDate

Gets the creation time of the comment. Returns null if the comment was converted from a note, since the comment does not have a creation date.

id

Specifies the comment identifier.

mentions

Gets the entities (e.g., people) that are mentioned in comments.

replies

Represents a collection of reply objects associated with the comment.

resolved

The comment thread status. A value of true means that the comment thread is resolved.

richContent

Gets the rich comment content (e.g., mentions in comments). This string is not meant to be displayed to end-users. Your add-in should only use this to parse rich comment content.

Methods

assignTask(assignee)

Assigns the task attached to the comment to the given user as an assignee. If there is no task, one will be created.

delete()

Deletes the comment and all the connected replies.

getLocation()

Gets the cell where this comment is located.

getTask()

Gets the task associated with this comment. If there is no task for the comment thread, an ItemNotFound exception is thrown.

getTaskOrNullObject()

Gets the task associated with this comment. If there is no task for the comment thread, then this method returns an object with its isNullObject property set to true. For further information, see *OrNullObject methods and properties.

load(options)

Queues up a command to load the specified properties of the object. You must call context.sync() before reading the properties.

load(propertyNames)

Queues up a command to load the specified properties of the object. You must call context.sync() before reading the properties.

load(propertyNamesAndPaths)

Queues up a command to load the specified properties of the object. You must call context.sync() before reading the properties.

set(properties, options)

Sets multiple properties of an object at the same time. You can pass either a plain object with the appropriate properties, or another API object of the same type.

set(properties)

Sets multiple properties on the object at the same time, based on an existing loaded object.

toJSON()

Overrides the JavaScript toJSON() method in order to provide more useful output when an API object is passed to JSON.stringify(). (JSON.stringify, in turn, calls the toJSON method of the object that is passed to it.) Whereas the original Excel.Comment object is an API object, the toJSON method returns a plain JavaScript object (typed as Excel.Interfaces.CommentData) that contains shallow copies of any loaded child properties from the original object.

updateMentions(contentWithMentions)

Updates the comment content with a specially formatted string and a list of mentions.

Property Details

authorEmail

Gets the email of the comment's author.

readonly authorEmail: string;

Property Value

string

Remarks

[ API set: ExcelApi 1.10 ]

authorName

Gets the name of the comment's author.

readonly authorName: string;

Property Value

string

Remarks

[ API set: ExcelApi 1.10 ]

content

The comment's content. The string is plain text.

content: string;

Property Value

string

Remarks

[ API set: ExcelApi 1.10 ]

Examples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/12-comment/comment-basics.yaml

await Excel.run(async (context) => {
    const sheet = context.workbook.worksheets.getItem("Comments");
    const comment = sheet.comments.getItemAt(0);
    comment.content = "PLEASE add headers here.";
    await context.sync();
});

contentType

Gets the content type of the comment.

readonly contentType: Excel.ContentType | "Plain" | "Mention";

Property Value

Excel.ContentType | "Plain" | "Mention"

Remarks

[ API set: ExcelApi 1.12 ]

context

The request context associated with the object. This connects the add-in's process to the Office host application's process.

context: RequestContext;

Property Value

creationDate

Gets the creation time of the comment. Returns null if the comment was converted from a note, since the comment does not have a creation date.

readonly creationDate: Date;

Property Value

Date

Remarks

[ API set: ExcelApi 1.10 ]

id

Specifies the comment identifier.

readonly id: string;

Property Value

string

Remarks

[ API set: ExcelApi 1.10 ]

mentions

Gets the entities (e.g., people) that are mentioned in comments.

readonly mentions: Excel.CommentMention[];

Property Value

Remarks

[ API set: ExcelApi 1.11 ]

replies

Represents a collection of reply objects associated with the comment.

readonly replies: Excel.CommentReplyCollection;

Property Value

Remarks

[ API set: ExcelApi 1.10 ]

resolved

The comment thread status. A value of true means that the comment thread is resolved.

resolved: boolean;

Property Value

boolean

Remarks

[ API set: ExcelApi 1.11 ]

Examples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/12-comment/comment-resolution.yaml

await Excel.run(async (context) => {
    const sheet = context.workbook.worksheets.getItem("Comments");
    sheet.comments.getItemAt(0).resolved = true;
    await context.sync();
});

richContent

Gets the rich comment content (e.g., mentions in comments). This string is not meant to be displayed to end-users. Your add-in should only use this to parse rich comment content.

readonly richContent: string;

Property Value

string

Remarks

[ API set: ExcelApi 1.11 ]

Method Details

assignTask(assignee)

Note

This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.

Assigns the task attached to the comment to the given user as an assignee. If there is no task, one will be created.

assignTask(assignee: Excel.EmailIdentity): Excel.DocumentTask;

Parameters

assignee
Excel.EmailIdentity

The assignee's user identity information.

Returns

Remarks

[ API set: ExcelApi BETA (PREVIEW ONLY) ]

delete()

Deletes the comment and all the connected replies.

delete(): void;

Returns

void

Remarks

[ API set: ExcelApi 1.10 ]

Examples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/12-comment/comment-basics.yaml

await Excel.run(async (context) => {
    context.workbook.comments.getItemByCell("Comments!A2").delete();
    await context.sync();
});

getLocation()

Gets the cell where this comment is located.

getLocation(): Excel.Range;

Returns

Remarks

[ API set: ExcelApi 1.10 ]

getTask()

Note

This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.

Gets the task associated with this comment. If there is no task for the comment thread, an ItemNotFound exception is thrown.

getTask(): Excel.DocumentTask;

Returns

Remarks

[ API set: ExcelApi BETA (PREVIEW ONLY) ]

getTaskOrNullObject()

Note

This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.

Gets the task associated with this comment. If there is no task for the comment thread, then this method returns an object with its isNullObject property set to true. For further information, see *OrNullObject methods and properties.

getTaskOrNullObject(): Excel.DocumentTask;

Returns

Remarks

[ API set: ExcelApi BETA (PREVIEW ONLY) ]

load(options)

Queues up a command to load the specified properties of the object. You must call context.sync() before reading the properties.

load(options?: Excel.Interfaces.CommentLoadOptions): Excel.Comment;

Parameters

options
Excel.Interfaces.CommentLoadOptions

Provides options for which properties of the object to load.

Returns

load(propertyNames)

Queues up a command to load the specified properties of the object. You must call context.sync() before reading the properties.

load(propertyNames?: string | string[]): Excel.Comment;

Parameters

propertyNames

string | string[]

A comma-delimited string or an array of strings that specify the properties to load.

Returns

Examples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/12-comment/comment-basics.yaml

await Excel.run(async (context) => {
    const comment = context.workbook.comments.getItemByCell("Comments!A2");
    comment.load(["authorEmail", "authorName", "creationDate"]);
    await context.sync();

    console.log(`${comment.creationDate.toDateString()}: ${comment.authorName} (${comment.authorEmail})`);
    await context.sync();
});

load(propertyNamesAndPaths)

Queues up a command to load the specified properties of the object. You must call context.sync() before reading the properties.

load(propertyNamesAndPaths?: {
            select?: string;
            expand?: string;
        }): Excel.Comment;

Parameters

propertyNamesAndPaths

{ select?: string; expand?: string; }

propertyNamesAndPaths.select is a comma-delimited string that specifies the properties to load, and propertyNamesAndPaths.expand is a comma-delimited string that specifies the navigation properties to load.

Returns

set(properties, options)

Sets multiple properties of an object at the same time. You can pass either a plain object with the appropriate properties, or another API object of the same type.

set(properties: Interfaces.CommentUpdateData, options?: OfficeExtension.UpdateOptions): void;

Parameters

properties
Excel.Interfaces.CommentUpdateData

A JavaScript object with properties that are structured isomorphically to the properties of the object on which the method is called.

options
OfficeExtension.UpdateOptions

Provides an option to suppress errors if the properties object tries to set any read-only properties.

Returns

void

set(properties)

Sets multiple properties on the object at the same time, based on an existing loaded object.

set(properties: Excel.Comment): void;

Parameters

properties
Excel.Comment

Returns

void

toJSON()

Overrides the JavaScript toJSON() method in order to provide more useful output when an API object is passed to JSON.stringify(). (JSON.stringify, in turn, calls the toJSON method of the object that is passed to it.) Whereas the original Excel.Comment object is an API object, the toJSON method returns a plain JavaScript object (typed as Excel.Interfaces.CommentData) that contains shallow copies of any loaded child properties from the original object.

toJSON(): Excel.Interfaces.CommentData;

Returns

updateMentions(contentWithMentions)

Updates the comment content with a specially formatted string and a list of mentions.

updateMentions(contentWithMentions: Excel.CommentRichContent): void;

Parameters

contentWithMentions
Excel.CommentRichContent

The content for the comment. This contains a specially formatted string and a list of mentions that will be parsed into the string when displayed by Excel.

Returns

void

Remarks

[ API set: ExcelApi 1.11 ]