Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Надстройки Excel поддерживают поведение отмены. При этом сохраняются как действия, выполняемые API JavaScript для Excel, так и действия, выполняемые пользователем в Excel. Эти действия сохраняются в стеке отмены для отдельного пользователя, что позволяет пользователю при желании выполнить свои действия.
Примечание.
Функции, описанные в этой статье, в настоящее время доступны только в общедоступной предварительной версии. Чтобы использовать эту функцию, необходимо использовать предварительную версию библиотеки API JavaScript для Office из сети доставки содержимого (CDN)Office.js.
Файл определения типа для компиляции TypeScript и IntelliSense находится в сети CDN и имеет тип DefinitelyTyped. Эти типы можно установить с помощью npm install --save-dev @types/office-js-preview
.
Дополнительные сведения о наших планируемых API см. в статье Наборы обязательных элементов API JavaScript для Excel. Чтобы использовать эту функцию, необходимо также присоединиться к программе предварительной оценки Microsoft 365 и скачать последнюю сборку Excel.
Отмена группировки
API JavaScript для Excel также поддерживает отмену группирования. Это позволяет группировать несколько вызовов API в одно невозможное действие для пользователя надстройки. Например, если надстройка должна внести несколько разных обновлений на нескольких листах в ответ на одну команду пользователя, все эти обновления можно заложить в одну группу. Это делается с помощью свойства, mergeUndoGroup
предоставленного Excel.run
функции.
Если API в группе не предлагает поддержку отмены, возникает ошибка, UndoNotSupported
указывающая на то, что операция не может быть сгруппирована. Ваша надстройка должна корректно обработать эту ошибку и представить пользователю разумное сообщение.
В следующем примере кода показано, как объединить несколько действий с параметром mergeUndoGroup
true
.
Важно!
Убедитесь, что все сгруппированные вызовы API поддерживают отмену, чтобы избежать ошибок. Дополнительные сведения см. в разделе Неподдерживаемые API .
await Excel.run({ mergeUndoGroup: true }, async (context) => {
const sheet = context.workbook.worksheets.getActiveWorksheet();
let range = sheet.getRange("A1");
range.values = [["123"]];
await context.sync();
range = sheet.getRange("B2");
range.values = [["456"]];
await context.sync();
});
Неподдерживаемые интерфейсы API
Большинство API JavaScript для Excel поддерживают действия отмены. Однако список API, которые не поддерживают поведение отмены, см. в следующей таблице.
Совет
При вызове неподдерживаемого API в надстройке стек отмены пользователя очищается, начиная с этого вызова API, и пользователь не сможет отменить действия после этого момента.
API | Поддерживается в Excel в Интернете | Поддерживается в Excel в Windows и Excel на Mac | Примечания |
---|---|---|---|
AllowEditRange.address |
Нет | Нет | Нет |
AllowEditRange.delete |
Нет | Нет | Нет |
AllowEditRange.pauseProtection |
Нет | Нет | Нет |
AllowEditRange.setPassword |
Нет | Нет | Нет |
AllowEditRange.title |
Нет | Нет | Нет |
AllowEditRangeCollection.add |
Нет | Нет | Нет |
AllowEditRangeCollection.pauseProtection |
Нет | Нет | Нет |
Chart.categoryLabelLevel |
Нет | Нет | Нет |
Chart.seriesNameLevel |
Нет | Нет | Нет |
ChartPivotOptions.showAxisFieldButtons |
Нет | Да | Нет |
ChartPivotOptions.showLegendFieldButtons |
Нет | Да | Нет |
ChartPivotOptions.showReportFilterFieldButtons |
Нет | Да | Нет |
ChartPivotOptions.showValueFieldButtons |
Нет | Да | Нет |
ChartTrendlineLabel.formula |
Нет | Да | Нет |
DataConnectionCollection.refreshAll |
Нет | Нет | Нет |
DocumentProperties.author |
Нет | Да | Нет |
DocumentProperties.category |
Нет | Да | Нет |
DocumentProperties.comments |
Нет | Да | Нет |
DocumentProperties.company |
Нет | Да | Нет |
DocumentProperties.keywords |
Нет | Да | Нет |
DocumentProperties.manager |
Нет | Да | Нет |
DocumentProperties.revisionNumber |
Нет | Да | Нет |
DocumentProperties.subject |
Нет | Да | Нет |
DocumentProperties.title |
Нет | Да | Нет |
LinkedWorkbook.refresh |
Нет | Нет | Нет |
LinkedWorkbookCollection.refreshAll |
Нет | Нет | Нет |
NamedItem.comment |
Нет | Да | Нет |
PivotTableStyle.delete |
Нет | Да | API не поддерживает отмену совместного редактирования в Excel в Windows и Mac. |
PivotTableStyle.duplicate |
Нет | Да | Нет |
PivotTableStyle.name |
Нет | Да | Нет |
PivotTableStyleCollection.add |
Нет | Да | API не поддерживает отмену совместного редактирования в Excel в Windows и Mac. |
PivotTableStyleCollection.setDefault |
Нет | Да | API не поддерживает отмену совместного редактирования в Excel в Windows и Mac. |
Query.delete |
Нет | Да | API поддерживает отмену в Excel в Windows и Mac, но не поддерживает повтор. |
Query.refresh |
Нет | Да | API поддерживает отмену Excel в Windows и Mac, но не поддерживает повтор. |
QueryCollection.refreshAll |
Нет | Да | API поддерживает отмену Excel в Windows и Mac, но не поддерживает повтор. |
Slicer.name |
Нет | Да | Нет |
Slicer.nameInFormula |
Нет | Да | Нет |
SlicerStyle.delete |
Нет | Да | API не поддерживает отмену совместного редактирования в Excel в Windows и Mac. |
SlicerStyle.duplicate |
Нет | Да | Нет |
SlicerStyle.name |
Нет | Да | Нет |
SlicerStyleCollection.add |
Нет | Да | API не поддерживает отмену совместного редактирования в Excel в Windows и Mac. |
SlicerStyleCollection.setDefault |
Нет | Да | API не поддерживает отмену совместного редактирования в Excel в Windows и Mac. |
Style.addIndent |
Нет | Да | Нет |
Style.autoIndent |
Нет | Да | Нет |
Style.formulaHidden |
Нет | Да | Нет |
Style.horizontalAlignment |
Нет | Да | Нет |
Style.includeAlignment |
Нет | Да | Нет |
Style.includeBorder |
Нет | Да | Нет |
Style.includeFont |
Нет | Да | Нет |
Style.includeNumber |
Нет | Да | Нет |
Style.includePatterns |
Нет | Да | Нет |
Style.includeProtection |
Нет | Да | Нет |
Style.indentLevel |
Нет | Да | Нет |
Style.locked |
Нет | Да | Нет |
Style.numberFormat |
Нет | Да | Нет |
Style.numberFormatLocal |
Нет | Да | Нет |
Style.orientation |
Нет | Да | Нет |
Style.readingOrder |
Нет | Да | Нет |
Style.shrinkToFit |
Нет | Да | Нет |
Style.textOrientation |
Нет | Да | Нет |
Style.verticalAlignment |
Нет | Да | Нет |
Style.wrapText |
Нет | Да | Нет |
TableStyle.delete |
Нет | Да | API не поддерживает отмену совместного редактирования в Excel в Windows и Mac. |
TableStyle.duplicate |
Нет | Да | Нет |
TableStyle.name |
Нет | Да | Нет |
TableStyleCollection.add |
Нет | Да | API не поддерживает отмену совместного редактирования в Excel в Windows и Mac. |
TableStyleCollection.setDefault |
Нет | Да | API не поддерживает отмену совместного редактирования в Excel в Windows и Mac. |
TimelineStyle.delete |
Нет | Да | API не поддерживает отмену совместного редактирования в Excel в Windows и Mac. |
TimelineStyle.duplicate |
Нет | Да | Нет |
TimelineStyle.name |
Нет | Да | Нет |
TimelineStyleCollection.add |
Нет | Да | API не поддерживает отмену совместного редактирования в Excel в Windows и Mac. |
TimelineStyleCollection.setDefault |
Нет | Да | API не поддерживает отмену совместного редактирования в Excel в Windows и Mac. |
Workbook.close |
Нет | Нет | Нет |
Workbook.insertWorksheetsFromBase64 |
Нет | Нет | Нет |
Workbook.save |
Нет | Нет | Нет |
WorkbookProtection.protect |
Нет | Нет | Нет |
WorkbookProtection.unprotect |
Нет | Нет | Нет |
Worksheet.copy |
Нет | Нет | Нет |
Worksheet.delete |
Нет | Нет | Нет |
Worksheet.name |
Да | Нет | Нет |
Worksheet.standardWidth |
Нет | Да | Нет |
Worksheet.position |
Да | Нет | Нет |
Worksheet.visibility |
Да | Нет | Нет |
WorksheetCollection.addFromBase64 |
Нет | Нет | Нет |
WorksheetProtection.pauseProtection |
Нет | Нет | Нет |
WorksheetProtection.protect |
Нет | Нет | Нет |
WorksheetProtection.resumeProtection |
Нет | Нет | Нет |
WorksheetProtection.setPassword |
Нет | Нет | Нет |
WorksheetProtection.unprotect |
Нет | Нет | Нет |
WorksheetProtection.updateOptions |
Нет | Нет | Нет |
См. также
Office Add-ins