ExcelScript.CommentRichContent interface
コメントまたはコメントの返信に含まれるコンテンツを表します。 リッチ コンテンツは、テキスト文字列とコメント本文に含まれるその他のオブジェクト (メンションなど) を妨げます。
プロパティ
mentions | コメント内で言及されているすべてのエンティティ (people など) を含む配列。 |
rich |
コメントのリッチ コンテンツを指定します (たとえば、メンションを含むコメント コンテンツ、最初のメンションエンティティの ID 属性は 0、2 番目のメンションエンティティの ID 属性は 1 です)。 |
プロパティの詳細
mentions
コメント内で言及されているすべてのエンティティ (people など) を含む配列。
mentions?: CommentMention[];
プロパティ値
richContent
コメントのリッチ コンテンツを指定します (たとえば、メンションを含むコメント コンテンツ、最初のメンションエンティティの ID 属性は 0、2 番目のメンションエンティティの ID 属性は 1 です)。
richContent: string;
プロパティ値
string
例
/**
* This sample finds overdue work items in a table and
* lets their owners know with a comment that uses an @mention.
*
* This assumes the worksheet has a table with the columns:
* "Work Item", "Project", "Owner", "Due Date"
*/
function main(workbook: ExcelScript.Workbook) {
let currentSheet = workbook.getActiveWorksheet();
// Get the "Owner" column range and values.
let table = currentSheet.getTables()[0];
let ownerColumnRange = table.getColumn("Owner").getRangeBetweenHeaderAndTotal();
let ownerColumnValues = ownerColumnRange.getValues();
// Get the "Due Date" column range and values.
let dueDateColumnRange = table.getColumn("Due Date").getRangeBetweenHeaderAndTotal();
let dueDateColumnValues = dueDateColumnRange.getValues();
// Look for overdue work items.
for (let row = 0; row < dueDateColumnValues.length; row++) {
/* Convert the Excel date into a JavaScript date.
* This is necessary because Excel and JavaScript store
* their dates as different numerical values.
*/
let dueDate = new Date(Math.round((dueDateColumnValues[row][0] as number - 25569) * 86400 * 1000));
// Check if the current date is greater than the due date.
if (Date.now() > dueDate.valueOf()) {
/* Create a CommentMention object for the comment,
* based on the work item's owner.
*
* A CommentMention's properties are:
* `name`: The name of the person being mentioned.
* `id`: The index of this mention in the comment.
* `email`: The email address of the person being mentioned.
* In this sample, "Owner: is also the user name for the email.
*/
let mention = {
name: ownerColumnValues[row][0].toString(),
id: 0,
email: ownerColumnValues[row][0] + "@contoso.com"
};
/* Create the comment.
* The `<at id="0">` syntax embeds the mention in the comment text.
* The name is displayed in the comment,
* while an email is sent to the given address.
*
* The addComment parameters are:
* `cellAddress`: The location of the comment.
* `content`: The text of the comment and any embedded mentions.
* `contentType`: The type of comment ("Mention" or "Plain").
*/
currentSheet.addComment(
dueDateColumnRange.getCell(row, 0),
{
richContent: '<at id="0">' + mention.name + "</at> - Your work item is overdue.",
mentions: [mention]
},
ExcelScript.ContentType.mention
);
}
}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
Office Scripts