Поделиться через


Excel.CommentCollection class

Представляет коллекцию объектов комментариев, которые являются частью книги.

Extends

Комментарии

[ Набор API: ExcelApi 1.10 ]

Свойства

context

Контекст запроса, связанный с объектом . Это соединяет процесс надстройки с процессом ведущего приложения Office.

items

Получает загруженные дочерние элементы в этой коллекции.

Методы

add(cellAddress, content, contentType)

Создает новое примечание с указанным содержимым в определенной ячейке. Если InvalidArgument указанный диапазон больше одной ячейки, возникает ошибка.

add(cellAddress, content, contentTypeString)

Создает новое примечание с указанным содержимым в определенной ячейке. Если InvalidArgument указанный диапазон больше одной ячейки, возникает ошибка.

getCount()

Получает количество примечаний в коллекции.

getItem(commentId)

Получает примечание из коллекции на основе его идентификатора.

getItemAt(index)

Получает примечание из коллекции на основе его позиции.

getItemByCell(cellAddress)

Получает примечание из указанной ячейки. Если в ячейке нет комментария, возникает ошибка.

getItemByReplyId(replyId)

Возвращает комментарий, к которому подключен данный ответ.

getItemOrNullObject(commentId)

Получает примечание из коллекции на основе его идентификатора. Если объект comment не существует, то этот метод возвращает объект со свойством isNullObject .true Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.

load(options)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(propertyNames)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(propertyNamesAndPaths)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

toJSON()

Переопределяет метод JavaScript toJSON() , чтобы обеспечить более полезные выходные данные при передаче объекта API в JSON.stringify(). (JSON.stringifyв свою очередь вызывает toJSON метод переданного ему объекта.) В то время как исходный Excel.CommentCollection объект является объектом API, toJSON метод возвращает обычный объект JavaScript (типизированный как Excel.Interfaces.CommentCollectionData), содержащий массив "items" с мелкими копиями всех загруженных свойств из элементов коллекции.

События

onAdded

Происходит при добавлении комментариев.

onChanged

Происходит при изменении комментариев или ответов в коллекции комментариев, в том числе при удалении ответов.

onDeleted

Происходит при удалении комментариев в коллекции комментариев.

Сведения о свойстве

context

Контекст запроса, связанный с объектом . Это соединяет процесс надстройки с процессом ведущего приложения Office.

context: RequestContext;

Значение свойства

items

Получает загруженные дочерние элементы в этой коллекции.

readonly items: Excel.Comment[];

Значение свойства

Сведения о методе

add(cellAddress, content, contentType)

Создает новое примечание с указанным содержимым в определенной ячейке. Если InvalidArgument указанный диапазон больше одной ячейки, возникает ошибка.

add(cellAddress: Range | string, content: CommentRichContent | string, contentType?: Excel.ContentType): Excel.Comment;

Параметры

cellAddress

Excel.Range | string

Ячейка, в которую добавляется комментарий. Это может быть Range объект или строка. Если это строка, она должна содержать полный адрес, включая имя листа. Если InvalidArgument указанный диапазон больше одной ячейки, возникает ошибка.

content

Excel.CommentRichContent | string

Содержимое комментария. Это может быть строка или CommentRichContent объект. Строки используются для обычного текста. CommentRichContent объекты позволяют использовать другие функции комментариев, такие как упоминания. [Набор API: ExcelApi 1.10 для строки, 1.11 для объекта CommentRichContent]

contentType
Excel.ContentType

Необязательный параметр. Тип содержимого, содержащегося в комментарии. Значение по умолчанию — перечисление ContentType.Plain. [Набор API: ExcelApi 1.10 для Enum ContentType.Plain, 1.11 для Enum ContentType.Mention]

Возвращаемое значение

Комментарии

[ Набор API: ExcelApi 1.10 ]

Примеры

// 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");

    // Note that an InvalidArgument error will be thrown if multiple cells passed to `comment.add`.
    sheet.comments.add("A2", "TODO: add data.");
    await context.sync();
});

add(cellAddress, content, contentTypeString)

Создает новое примечание с указанным содержимым в определенной ячейке. Если InvalidArgument указанный диапазон больше одной ячейки, возникает ошибка.

add(cellAddress: Range | string, content: CommentRichContent | string, contentTypeString?: "Plain" | "Mention"): Excel.Comment;

Параметры

cellAddress

Excel.Range | string

Ячейка, в которую добавляется комментарий. Это может быть Range объект или строка. Если это строка, она должна содержать полный адрес, включая имя листа. Если InvalidArgument указанный диапазон больше одной ячейки, возникает ошибка.

content

Excel.CommentRichContent | string

Содержимое комментария. Это может быть строка или CommentRichContent объект. Строки используются для обычного текста. CommentRichContent объекты позволяют использовать другие функции комментариев, такие как упоминания. [Набор API: ExcelApi 1.10 для строки, 1.11 для объекта CommentRichContent]

contentTypeString

"Plain" | "Mention"

Необязательный параметр. Тип содержимого, содержащегося в комментарии. Значение по умолчанию — перечисление ContentType.Plain. [Набор API: ExcelApi 1.10 для Enum ContentType.Plain, 1.11 для Enum ContentType.Mention]

Возвращаемое значение

Комментарии

[ Набор API: ExcelApi 1.10 ]

getCount()

Получает количество примечаний в коллекции.

getCount(): OfficeExtension.ClientResult<number>;

Возвращаемое значение

Комментарии

[ Набор API: ExcelApi 1.10 ]

getItem(commentId)

Получает примечание из коллекции на основе его идентификатора.

getItem(commentId: string): Excel.Comment;

Параметры

commentId

string

Идентификатор комментария.

Возвращаемое значение

Комментарии

[ Набор API: ExcelApi 1.10 ]

getItemAt(index)

Получает примечание из коллекции на основе его позиции.

getItemAt(index: number): Excel.Comment;

Параметры

index

number

Значение индекса получаемого объекта. Используется нулевой индекс.

Возвращаемое значение

Комментарии

[ Набор API: ExcelApi 1.10 ]

getItemByCell(cellAddress)

Получает примечание из указанной ячейки. Если в ячейке нет комментария, возникает ошибка.

getItemByCell(cellAddress: Range | string): Excel.Comment;

Параметры

cellAddress

Excel.Range | string

Ячейка, в которой находится комментарий. Это может быть Range объект или строка. Если это строка, она должна содержать полный адрес, включая имя листа. Если InvalidArgument указанный диапазон больше одной ячейки, возникает ошибка.

Возвращаемое значение

Комментарии

[ Набор API: ExcelApi 1.10 ]

getItemByReplyId(replyId)

Возвращает комментарий, к которому подключен данный ответ.

getItemByReplyId(replyId: string): Excel.Comment;

Параметры

replyId

string

Идентификатор ответа на комментарий.

Возвращаемое значение

Комментарии

[ Набор API: ExcelApi 1.10 ]

getItemOrNullObject(commentId)

Получает примечание из коллекции на основе его идентификатора. Если объект comment не существует, то этот метод возвращает объект со свойством isNullObject .true Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.

getItemOrNullObject(commentId: string): Excel.Comment;

Параметры

commentId

string

Идентификатор комментария.

Возвращаемое значение

Комментарии

[ Набор API: ExcelApi 1.14 ]

load(options)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(options?: Excel.Interfaces.CommentCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.CommentCollection;

Параметры

options

Excel.Interfaces.CommentCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions

Предоставляет параметры свойств объекта для загрузки.

Возвращаемое значение

load(propertyNames)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

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

Параметры

propertyNames

string | string[]

Строка с разделителями-запятыми или массив строк, указывающих свойства для загрузки.

Возвращаемое значение

load(propertyNamesAndPaths)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(propertyNamesAndPaths?: OfficeExtension.LoadOption): Excel.CommentCollection;

Параметры

propertyNamesAndPaths
OfficeExtension.LoadOption

propertyNamesAndPaths.select — это строка с разделителями-запятыми, указывающая загружаемые свойства, и propertyNamesAndPaths.expand строка с разделителями-запятыми, указывающая загружаемые свойства навигации.

Возвращаемое значение

toJSON()

Переопределяет метод JavaScript toJSON() , чтобы обеспечить более полезные выходные данные при передаче объекта API в JSON.stringify(). (JSON.stringifyв свою очередь вызывает toJSON метод переданного ему объекта.) В то время как исходный Excel.CommentCollection объект является объектом API, toJSON метод возвращает обычный объект JavaScript (типизированный как Excel.Interfaces.CommentCollectionData), содержащий массив "items" с мелкими копиями всех загруженных свойств из элементов коллекции.

toJSON(): Excel.Interfaces.CommentCollectionData;

Возвращаемое значение

Сведения о событии

onAdded

Происходит при добавлении комментариев.

readonly onAdded: OfficeExtension.EventHandlers<Excel.CommentAddedEventArgs>;

Тип события

Комментарии

[ Набор API: ExcelApi 1.12 ]

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/30-events/events-comment-event-handler.yaml

await Excel.run(async (context) => {
    const comments = context.workbook.worksheets.getActiveWorksheet().comments;

    // Register the onAdded, onChanged, and onDeleted comment event handlers.
    comments.onAdded.add(commentAdded);
    comments.onChanged.add(commentChanged);
    comments.onDeleted.add(commentDeleted);

    await context.sync();

    console.log("Added event handlers for when comments are added, changed, or deleted.");
});

...

async function commentAdded(event: Excel.CommentAddedEventArgs) {
    // Retrieve the added comment using the comment ID.
    // Note: This function assumes only a single comment is added at a time. 
    await Excel.run(async (context) => {
        const addedComment = context.workbook.comments.getItem(event.commentDetails[0].commentId);

        // Load the added comment's data.
        addedComment.load(["content", "authorName", "creationDate"]);

        await context.sync();

        // Print out the added comment's data.
        console.log(`A comment was added:`);
        console.log(`    ID: ${event.commentDetails[0].commentId}`);
        console.log(`    Comment content:${addedComment.content}`);
        console.log(`    Comment author:${addedComment.authorName}`);
        console.log(`    Creation date:${addedComment.creationDate}`);
    });
}

onChanged

Происходит при изменении комментариев или ответов в коллекции комментариев, в том числе при удалении ответов.

readonly onChanged: OfficeExtension.EventHandlers<Excel.CommentChangedEventArgs>;

Тип события

Комментарии

[ Набор API: ExcelApi 1.12 ]

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/30-events/events-comment-event-handler.yaml

await Excel.run(async (context) => {
    const comments = context.workbook.worksheets.getActiveWorksheet().comments;

    // Register the onAdded, onChanged, and onDeleted comment event handlers.
    comments.onAdded.add(commentAdded);
    comments.onChanged.add(commentChanged);
    comments.onDeleted.add(commentDeleted);

    await context.sync();

    console.log("Added event handlers for when comments are added, changed, or deleted.");
});

...

async function commentChanged(event: Excel.CommentChangedEventArgs) {
    // Retrieve the changed comment using the comment ID.
    // Note: This function assumes only a single comment is changed at a time. 
    await Excel.run(async (context) => {
        const changedComment = context.workbook.comments.getItem(event.commentDetails[0].commentId);

        // Load the changed comment's data.
        changedComment.load(["content", "authorName", "creationDate"]);

        await context.sync();

        // Print out the changed comment's data.
        console.log(`A comment was changed:`);
        console.log(`    ID: ${event.commentDetails[0].commentId}`);
        console.log(`    Updated comment content: ${changedComment.content}`);
        console.log(`    Comment author: ${changedComment.authorName}`);
        console.log(`    Creation date: ${changedComment.creationDate}`);
    });
}

onDeleted

Происходит при удалении комментариев в коллекции комментариев.

readonly onDeleted: OfficeExtension.EventHandlers<Excel.CommentDeletedEventArgs>;

Тип события

Комментарии

[ Набор API: ExcelApi 1.12 ]

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/30-events/events-comment-event-handler.yaml

await Excel.run(async (context) => {
    const comments = context.workbook.worksheets.getActiveWorksheet().comments;

    // Register the onAdded, onChanged, and onDeleted comment event handlers.
    comments.onAdded.add(commentAdded);
    comments.onChanged.add(commentChanged);
    comments.onDeleted.add(commentDeleted);

    await context.sync();

    console.log("Added event handlers for when comments are added, changed, or deleted.");
});

...

async function commentDeleted(event: Excel.CommentDeletedEventArgs) {
    // Print out the deleted comment's ID.
    // Note: This function assumes only a single comment is deleted at a time. 
    await Excel.run(async (context) => {
        console.log(`A comment was deleted:`);
        console.log(`    ID: ${event.commentDetails[0].commentId}`);
    });
}