Excel.Worksheet class
Лист Excel представляет собой сетку ячеек. Он может содержать данные, таблицы, диаграммы и т. д. Дополнительные сведения об объектной модели листа см. в статье Работа с листами с помощью API JavaScript для Excel.
- Extends
Комментарии
Примеры
// Get a Worksheet object by its name and activate it.
await Excel.run(async (context) => {
const wSheetName = 'Sheet1';
const worksheet = context.workbook.worksheets.getItem(wSheetName);
worksheet.activate();
await context.sync();
});
Свойства
charts | Возвращает коллекцию диаграмм, которые являются частью листа. |
context | Контекст запроса, связанный с объектом . Это соединяет процесс надстройки с процессом ведущего приложения Office. |
freeze |
Возвращает объект, который можно использовать для управления замороженными панелями на листе. |
id | Возвращает значение, однозначно идентифицирующее лист в данной книге. Значение идентификатора остается прежним, даже если переименовать или переместить лист. |
name | Отображаемое имя листа. Имя должно содержать менее 32 символов. |
names | Коллекция имен, относящих к текущему листу. |
pivot |
Коллекция сводных таблиц на листе. |
position | Положение листа (начиная с нуля) в книге. |
protection | Возвращает объект защиты листа для листа. |
show |
Указывает, являются ли линии сетки видимыми для пользователя. |
show |
Указывает, являются ли заголовки видимыми для пользователя. |
standard |
Возвращает стандартную (по умолчанию) высоту всех строк на листе (в пунктах). |
standard |
Задает стандартную (по умолчанию) ширину всех столбцов на листе. Одна единица ширины столбца равна ширине одного символа в обычном стиле. Для пропорциональных шрифтов используется ширина символа 0 (ноль). |
tab |
Цвет вкладки листа. При получении цвета вкладки, если лист невидим, значение будет иметь значение |
tables | Коллекция таблиц, имеющихся на листе. |
visibility | Видимость листа. |
Методы
activate() | Активация листа в пользовательском интерфейсе Excel. |
calculate(mark |
Вычисляет все ячейки на листе. |
copy(position |
Копирует лист и помещает его в указанное положение. |
copy(position |
Копирует лист и помещает его в указанное положение. |
delete() | Удаляет лист из книги. Обратите внимание, что если для видимости листа задано значение VeryHidden, операция удаления завершится ошибкой |
get |
Возвращает объект, |
get |
Возвращает лист, следующий за этим. Если после этого листа нет, этот метод вызовет ошибку. |
get |
Возвращает лист, следующий за этим. Если после этого листа нет, этот метод возвращает объект со свойством |
get |
Возвращает лист, предшествующий этому листу. Если предыдущих листов нет, этот метод вызовет ошибку. |
get |
Возвращает лист, предшествующий этому листу. Если предыдущих листов нет, этот метод возвращает объект со свойством |
get |
|
get |
Возвращает объект, |
get |
Используемый диапазон — это наименьший диапазон, включающий в себя все ячейки с определенным значением или форматированием. Если весь лист пуст, эта функция вернет верхнюю левую ячейку (т. е. не вызовет ошибку). |
get |
Используемый диапазон — это наименьший диапазон, включающий в себя все ячейки с определенным значением или форматированием. Если весь лист пуст, то этот метод возвращает объект со свойством |
load(options) | Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
load(property |
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
load(property |
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
set(properties, options) | Задает несколько свойств объекта одновременно. Можно передать обычный объект с соответствующими свойствами или другой объект API того же типа. |
set(properties) | Задает несколько свойств объекта одновременно на основе существующего загруженного объекта. |
toJSON() | Переопределяет метод JavaScript |
События
on |
Происходит при активации листа. |
on |
Происходит при вычислении листа. |
on |
Происходит при изменении данных на определенном листе. |
on |
Происходит при отключении листа. |
on |
Происходит при изменении выделения на определенном листе. |
Сведения о свойстве
charts
Возвращает коллекцию диаграмм, которые являются частью листа.
readonly charts: Excel.ChartCollection;
Значение свойства
Комментарии
context
Контекст запроса, связанный с объектом . Это соединяет процесс надстройки с процессом ведущего приложения Office.
context: RequestContext;
Значение свойства
freezePanes
Возвращает объект, который можно использовать для управления замороженными панелями на листе.
readonly freezePanes: Excel.WorksheetFreezePanes;
Значение свойства
Комментарии
id
Возвращает значение, однозначно идентифицирующее лист в данной книге. Значение идентификатора остается прежним, даже если переименовать или переместить лист.
readonly id: string;
Значение свойства
string
Комментарии
name
Отображаемое имя листа. Имя должно содержать менее 32 символов.
name: string;
Значение свойства
string
Комментарии
names
Коллекция имен, относящих к текущему листу.
readonly names: Excel.NamedItemCollection;
Значение свойства
Комментарии
pivotTables
Коллекция сводных таблиц на листе.
readonly pivotTables: Excel.PivotTableCollection;
Значение свойства
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/38-pivottable/pivottable-get-pivottables.yaml
await Excel.run(async (context) => {
// Get the names of all the PivotTables in the current worksheet.
const pivotTables = context.workbook.worksheets.getActiveWorksheet().pivotTables;
pivotTables.load("name");
await context.sync();
// Display the names in the console.
console.log("PivotTables in the current worksheet:")
pivotTables.items.forEach((pivotTable) => {
console.log(`\t${pivotTable.name}`);
});
});
position
Положение листа (начиная с нуля) в книге.
position: number;
Значение свойства
number
Комментарии
Примеры
// Set worksheet position.
await Excel.run(async (context) => {
const wSheetName = 'Sheet1';
const worksheet = context.workbook.worksheets.getItem(wSheetName);
worksheet.position = 2;
await context.sync();
});
protection
Возвращает объект защиты листа для листа.
readonly protection: Excel.WorksheetProtection;
Значение свойства
Комментарии
Примеры
// Unprotecting a worksheet with unprotect() will remove all
// WorksheetProtectionOptions options applied to a worksheet.
// To remove only a subset of WorksheetProtectionOptions use the
// protect() method and set the options you wish to remove to true.
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getItem("Sheet1");
sheet.protection.protect({
allowInsertRows: false, // Protect row insertion
allowDeleteRows: true // Unprotect row deletion
});
});
showGridlines
Указывает, являются ли линии сетки видимыми для пользователя.
showGridlines: boolean;
Значение свойства
boolean
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/54-worksheet/gridlines.yaml
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getActiveWorksheet();
sheet.showGridlines = true;
await context.sync();
});
showHeadings
Указывает, являются ли заголовки видимыми для пользователя.
showHeadings: boolean;
Значение свойства
boolean
Комментарии
standardHeight
Возвращает стандартную (по умолчанию) высоту всех строк на листе (в пунктах).
readonly standardHeight: number;
Значение свойства
number
Комментарии
standardWidth
Задает стандартную (по умолчанию) ширину всех столбцов на листе. Одна единица ширины столбца равна ширине одного символа в обычном стиле. Для пропорциональных шрифтов используется ширина символа 0 (ноль).
standardWidth: number;
Значение свойства
number
Комментарии
tabColor
Цвет вкладки листа. При получении цвета вкладки, если лист невидим, значение будет иметь значение null
. Если лист виден, но для цвета вкладки задано значение auto, возвращается пустая строка. В противном случае свойству будет присвоен цвет в форме #RRGGBB (например, FFA500). При настройке цвета используйте пустую строку, чтобы задать "автоматический" цвет или реальный цвет в противном случае.
tabColor: string;
Значение свойства
string
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/54-worksheet/tab-color.yaml
await Excel.run(async (context) => {
const activeSheet = context.workbook.worksheets.getActiveWorksheet();
activeSheet.tabColor = "#FF0000";
await context.sync();
});
tables
Коллекция таблиц, имеющихся на листе.
readonly tables: Excel.TableCollection;
Значение свойства
Комментарии
visibility
Видимость листа.
visibility: Excel.SheetVisibility | "Visible" | "Hidden" | "VeryHidden";
Значение свойства
Excel.SheetVisibility | "Visible" | "Hidden" | "VeryHidden"
Комментарии
[ Набор API: ExcelApi 1.1 для видимости чтения; 1.2 для его настройки. ]
Сведения о методе
activate()
Активация листа в пользовательском интерфейсе Excel.
activate(): void;
Возвращаемое значение
void
Комментарии
Примеры
await Excel.run(async (context) => {
const wSheetName = 'Sheet1';
const worksheet = context.workbook.worksheets.getItem(wSheetName);
worksheet.activate();
await context.sync();
});
calculate(markAllDirty)
Вычисляет все ячейки на листе.
calculate(markAllDirty: boolean): void;
Параметры
- markAllDirty
-
boolean
True, чтобы пометить все как грязное.
Возвращаемое значение
void
Комментарии
copy(positionType, relativeTo)
Копирует лист и помещает его в указанное положение.
copy(positionType?: Excel.WorksheetPositionType, relativeTo?: Excel.Worksheet): Excel.Worksheet;
Параметры
- positionType
- Excel.WorksheetPositionType
Расположение в книге для размещения только что созданного листа. Значение по умолчанию — None, которое вставляет лист в начало листа.
- relativeTo
- Excel.Worksheet
Существующий лист, определяющий положение только что созданного листа. Это необходимо только в том случае, если positionType
имеет значение "До" или "После".
Возвращаемое значение
Только что созданный лист.
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/54-worksheet/worksheet-copy.yaml
await Excel.run(async (context) => {
let myWorkbook = context.workbook;
let sampleSheet = myWorkbook.worksheets.getActiveWorksheet();
let copiedSheet = sampleSheet.copy("End")
sampleSheet.load("name");
copiedSheet.load("name");
await context.sync();
console.log("'" + sampleSheet.name + "' was copied to '" + copiedSheet.name + "'")
});
copy(positionTypeString, relativeTo)
Копирует лист и помещает его в указанное положение.
copy(positionTypeString?: "None" | "Before" | "After" | "Beginning" | "End", relativeTo?: Excel.Worksheet): Excel.Worksheet;
Параметры
- positionTypeString
-
"None" | "Before" | "After" | "Beginning" | "End"
Расположение в книге для размещения только что созданного листа. Значение по умолчанию — None, которое вставляет лист в начало листа.
- relativeTo
- Excel.Worksheet
Существующий лист, определяющий положение только что созданного листа. Это необходимо только в том случае, если positionType
имеет значение "До" или "После".
Возвращаемое значение
Только что созданный лист.
Комментарии
delete()
Удаляет лист из книги. Обратите внимание, что если для видимости листа задано значение VeryHidden, операция удаления завершится ошибкой InvalidOperation
с исключением. Сначала необходимо изменить видимость на скрытую или видимую перед удалением.
delete(): void;
Возвращаемое значение
void
Комментарии
Примеры
await Excel.run(async (context) => {
const wSheetName = 'Sheet1';
const worksheet = context.workbook.worksheets.getItem(wSheetName);
worksheet.delete();
await context.sync();
});
getCell(row, column)
Возвращает объект, Range
содержащий одну ячейку на основе номеров строк и столбцов. Ячейка может находиться за пределами родительского диапазона, если она находится в сетке листа.
getCell(row: number, column: number): Excel.Range;
Параметры
- row
-
number
Номер строки ячейки, которую требуется извлечь. Используется нулевой индекс.
- column
-
number
Номер столбца ячейки, которую требуется извлечь. Используется нулевой индекс.
Возвращаемое значение
Комментарии
Примеры
await Excel.run(async (context) => {
const sheetName = "Sheet1";
const rangeAddress = "A1:F8";
const worksheet = context.workbook.worksheets.getItem(sheetName);
const cell = worksheet.getCell(0,0);
cell.load('address');
await context.sync();
console.log(cell.address);
});
getNext(visibleOnly)
Возвращает лист, следующий за этим. Если после этого листа нет, этот метод вызовет ошибку.
getNext(visibleOnly?: boolean): Excel.Worksheet;
Параметры
- visibleOnly
-
boolean
Необязательный параметр. Если true
значение , учитывает только видимые листы, пропуская все скрытые листы.
Возвращаемое значение
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/54-worksheet/reference-worksheets-by-relative-position.yaml
await Excel.run(async (context) => {
const sheets = context.workbook.worksheets;
// We don't want to include the default worksheet that was created
// when the workbook was created, so our "firstSheet" will be the one
// after the literal first. Note chaining of navigation methods.
const firstSheet = sheets.getFirst().getNext();
const lastSheet = sheets.getLast();
const firstTaxRateRange = firstSheet.getRange("B2");
const lastTaxRateRange = lastSheet.getRange("B2");
firstSheet.load("name");
lastSheet.load("name");
firstTaxRateRange.load("text");
lastTaxRateRange.load("text");
await context.sync();
let firstYear = firstSheet.name.substr(5, 4);
let lastYear = lastSheet.name.substr(5, 4);
console.log(`Tax Rate change from ${firstYear} to ${lastYear}`, `Tax rate for ${firstYear}: ${firstTaxRateRange.text[0][0]}\nTax rate for ${lastYear}: ${lastTaxRateRange.text[0][0]}`)
await context.sync();
});
getNextOrNullObject(visibleOnly)
Возвращает лист, следующий за этим. Если после этого листа нет, этот метод возвращает объект со свойством isNullObject
true
. Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.
getNextOrNullObject(visibleOnly?: boolean): Excel.Worksheet;
Параметры
- visibleOnly
-
boolean
Необязательный параметр. Если true
значение , учитывает только видимые листы, пропуская все скрытые листы.
Возвращаемое значение
Комментарии
getPrevious(visibleOnly)
Возвращает лист, предшествующий этому листу. Если предыдущих листов нет, этот метод вызовет ошибку.
getPrevious(visibleOnly?: boolean): Excel.Worksheet;
Параметры
- visibleOnly
-
boolean
Необязательный параметр. Если true
значение , учитывает только видимые листы, пропуская все скрытые листы.
Возвращаемое значение
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/54-worksheet/reference-worksheets-by-relative-position.yaml
await Excel.run(async (context) => {
const sheets = context.workbook.worksheets;
const currentSheet = sheets.getActiveWorksheet();
const previousYearSheet = currentSheet.getPrevious();
const currentTaxDueRange = currentSheet.getRange("C2");
const previousTaxDueRange = previousYearSheet.getRange("C2");
currentSheet.load("name");
previousYearSheet.load("name");
currentTaxDueRange.load("text");
previousTaxDueRange.load("text");
await context.sync();
let currentYear = currentSheet.name.substr(5, 4);
let previousYear = previousYearSheet.name.substr(5, 4);
console.log("Two Year Tax Due Comparison", `Tax due for ${currentYear} was ${currentTaxDueRange.text[0][0]}\nTax due for ${previousYear} was ${previousTaxDueRange.text[0][0]}`)
await context.sync();
});
getPreviousOrNullObject(visibleOnly)
Возвращает лист, предшествующий этому листу. Если предыдущих листов нет, этот метод возвращает объект со свойством isNullObject
true
. Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.
getPreviousOrNullObject(visibleOnly?: boolean): Excel.Worksheet;
Параметры
- visibleOnly
-
boolean
Необязательный параметр. Если true
значение , учитывает только видимые листы, пропуская все скрытые листы.
Возвращаемое значение
Комментарии
getRange(address)
Range
Возвращает объект , представляющий один прямоугольный блок ячеек, заданный адресом или именем.
getRange(address?: string): Excel.Range;
Параметры
- address
-
string
Необязательный параметр. Строка, представляющая адрес или имя диапазона. Например, "A1:B2". Если аргумент не указан, возвращается весь диапазон листа.
Возвращаемое значение
Комментарии
Примеры
// Use the range address to get the range object.
await Excel.run(async (context) => {
const sheetName = "Sheet1";
const rangeAddress = "A1:F8";
const worksheet = context.workbook.worksheets.getItem(sheetName);
const range = worksheet.getRange(rangeAddress);
range.load('cellCount');
await context.sync();
console.log(range.cellCount);
});
getRangeByIndexes(startRow, startColumn, rowCount, columnCount)
Возвращает объект, Range
начинающийся с определенного индекса строки и индекса столбца и охватывающий определенное количество строк и столбцов.
getRangeByIndexes(startRow: number, startColumn: number, rowCount: number, columnCount: number): Excel.Range;
Параметры
- startRow
-
number
Начальная строка (с нулевым индексом).
- startColumn
-
number
Начальный столбец (нулевой индекс).
- rowCount
-
number
Количество строк для включения в диапазон.
- columnCount
-
number
Количество столбцов для включения в диапазон.
Возвращаемое значение
Комментарии
getUsedRange(valuesOnly)
Используемый диапазон — это наименьший диапазон, включающий в себя все ячейки с определенным значением или форматированием. Если весь лист пуст, эта функция вернет верхнюю левую ячейку (т. е. не вызовет ошибку).
getUsedRange(valuesOnly?: boolean): Excel.Range;
Параметры
- valuesOnly
-
boolean
Необязательный параметр. Если true
задано значение , то в качестве используемых ячеек учитываются только ячейки со значениями (игнорируется форматирование). [Набор API: ExcelApi 1.2]
Возвращаемое значение
Комментарии
Примеры
await Excel.run(async (context) => {
const wSheetName = 'Sheet1';
const worksheet = context.workbook.worksheets.getItem(wSheetName);
const usedRange = worksheet.getUsedRange();
usedRange.load('address');
await context.sync();
console.log(usedRange.address);
});
getUsedRangeOrNullObject(valuesOnly)
Используемый диапазон — это наименьший диапазон, включающий в себя все ячейки с определенным значением или форматированием. Если весь лист пуст, то этот метод возвращает объект со свойством isNullObject
true
. Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.
getUsedRangeOrNullObject(valuesOnly?: boolean): Excel.Range;
Параметры
- valuesOnly
-
boolean
Необязательный параметр. Учитывает только ячейки со значениями.
Возвращаемое значение
Комментарии
load(options)
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync()
.
load(options?: Excel.Interfaces.WorksheetLoadOptions): Excel.Worksheet;
Параметры
Предоставляет параметры свойств объекта для загрузки.
Возвращаемое значение
load(propertyNames)
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync()
.
load(propertyNames?: string | string[]): Excel.Worksheet;
Параметры
- propertyNames
-
string | string[]
Строка с разделителями-запятыми или массив строк, указывающих свойства для загрузки.
Возвращаемое значение
Примеры
// Get worksheet properties based on sheet name.
await Excel.run(async (context) => {
const wSheetName = 'Sheet1';
const worksheet = context.workbook.worksheets.getItem(wSheetName);
worksheet.load('position')
await context.sync();
console.log(worksheet.position);
});
load(propertyNamesAndPaths)
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync()
.
load(propertyNamesAndPaths?: {
select?: string;
expand?: string;
}): Excel.Worksheet;
Параметры
- propertyNamesAndPaths
-
{ select?: string; expand?: string; }
propertyNamesAndPaths.select
— это строка с разделителями-запятыми, указывающая загружаемые свойства, и propertyNamesAndPaths.expand
строка с разделителями-запятыми, указывающая загружаемые свойства навигации.
Возвращаемое значение
set(properties, options)
Задает несколько свойств объекта одновременно. Можно передать обычный объект с соответствующими свойствами или другой объект API того же типа.
set(properties: Interfaces.WorksheetUpdateData, options?: OfficeExtension.UpdateOptions): void;
Параметры
- properties
- Excel.Interfaces.WorksheetUpdateData
Объект JavaScript со свойствами, структурированными изоморфно по свойствам объекта, для которого вызывается метод .
- options
- OfficeExtension.UpdateOptions
Предоставляет возможность подавления ошибок, если объект свойств пытается задать какие-либо свойства, доступные только для чтения.
Возвращаемое значение
void
Примеры
// Set the color and name of the current worksheet.
await Excel.run(async (context) => {
const activeSheet = context.workbook.worksheets.getActiveWorksheet();
activeSheet.set({
tabColor: "yellow",
name: "MySheet"
});
await context.sync();
});
set(properties)
Задает несколько свойств объекта одновременно на основе существующего загруженного объекта.
set(properties: Excel.Worksheet): void;
Параметры
- properties
- Excel.Worksheet
Возвращаемое значение
void
toJSON()
Переопределяет метод JavaScript toJSON()
, чтобы обеспечить более полезные выходные данные при передаче объекта API в JSON.stringify()
. (JSON.stringify
в свою очередь вызывает toJSON
метод переданного ему объекта.) В то время как исходный Excel.Worksheet
объект является объектом API, toJSON
метод возвращает обычный объект JavaScript (типизированный как Excel.Interfaces.WorksheetData
), который содержит неглубокие копии всех загруженных дочерних свойств из исходного объекта.
toJSON(): Excel.Interfaces.WorksheetData;
Возвращаемое значение
Сведения о событии
onActivated
Происходит при активации листа.
readonly onActivated: OfficeExtension.EventHandlers<Excel.WorksheetActivatedEventArgs>;
Тип события
Комментарии
Примеры
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getItem("Sample");
sheet.onActivated.add(function (event) {
return Excel.run(async (context) => {
console.log("The activated worksheet ID is: " + event.worksheetId);
await context.sync();
});
});
await context.sync();
});
onCalculated
Происходит при вычислении листа.
readonly onCalculated: OfficeExtension.EventHandlers<Excel.WorksheetCalculatedEventArgs>;
Тип события
Комментарии
Примеры
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getItem("Sample");
sheet.onCalculated.add(function (event) {
return Excel.run(async (context) => {
console.log("The worksheet has recalculated.");
await context.sync();
});
});
await context.sync();
});
onChanged
Происходит при изменении данных на определенном листе.
readonly onChanged: OfficeExtension.EventHandlers<Excel.WorksheetChangedEventArgs>;
Тип события
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/30-events/events-worksheet.yaml
await Excel.run(async (context) => {
let sheet = context.workbook.worksheets.getItem("Sample");
sheet.onChanged.add(onChange);
await context.sync();
console.log("Added a worksheet-level data-changed event handler.");
});
onDeactivated
Происходит при отключении листа.
readonly onDeactivated: OfficeExtension.EventHandlers<Excel.WorksheetDeactivatedEventArgs>;
Тип события
Комментарии
Примеры
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getItem("Sample");
sheet.onDeactivated.add(function (event) {
return Excel.run(async (context) => {
console.log("The deactivated worksheet is: " + event.worksheetId);
await context.sync();
});
});
await context.sync();
});
onSelectionChanged
Происходит при изменении выделения на определенном листе.
readonly onSelectionChanged: OfficeExtension.EventHandlers<Excel.WorksheetSelectionChangedEventArgs>;
Тип события
Комментарии
Примеры
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getItem("Sample");
sheet.onSelectionChanged.add(function (event) {
return Excel.run(async (context) => {
console.log("The selected range has changed to: " + event.address);
await context.sync();
});
});
await context.sync();
});
Office Add-ins