Partager via


Annuler la prise en charge avec l’API JavaScript Excel

Les compléments Excel prennent en charge le comportement d’annulation. Cela permet de conserver à la fois les actions effectuées par les API JavaScript Excel et les actions effectuées par l’utilisateur dans Excel. Ces actions sont enregistrées dans la pile d’annulation pour un utilisateur individuel, ce qui permet à l’utilisateur de revenir en arrière sur ses actions quand il le souhaite.

Annuler le regroupement

L’API JavaScript Excel prend également en charge le regroupement d’annulation. Cela vous permet de regrouper plusieurs appels d’API en une seule action annulable pour l’utilisateur de votre complément. Par exemple, si votre complément doit effectuer plusieurs mises à jour différentes sur plusieurs feuilles de calcul en réponse à une commande utilisateur unique, vous pouvez inclure toutes ces mises à jour dans un seul groupe. Cette opération s’effectue avec la mergeUndoGroup propriété fournie à la Excel.run fonction .

Si une API au sein du groupe n’offre pas la prise en charge de l’annulation, l’erreur UndoNotSupported est générée pour vous informer que l’opération ne peut pas être regroupée. Votre complément doit gérer correctement cette erreur et présenter un message raisonnable à l’utilisateur.

L’exemple de code suivant montre comment fusionner plusieurs actions avec mergeUndoGroup la valeur définie sur true.

Importante

Vérifiez que tous les appels d’API groupés prennent en charge l’annulation pour éviter les erreurs. Pour plus d’informations, consultez API non prises en charge .

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 non prises en charge

La plupart des API JavaScript Excel prennent en charge les actions d’annulation. Toutefois, consultez le tableau suivant pour obtenir la liste des API qui ne prennent pas en charge le comportement d’annulation.

Conseil

Si vous appelez une API non prise en charge dans votre complément, la pile d’annulation de l’utilisateur est effacée à partir de cet appel d’API, et un utilisateur ne peut pas annuler les actions au-delà de ce point.

API Pris en charge dans Excel sur le Web Pris en charge dans Excel sur Windows et Excel sur Mac Notes
AllowEditRange.address Non Non Aucune
AllowEditRange.delete Non Non Aucune
AllowEditRange.pauseProtection Non Non Aucune
AllowEditRange.setPassword Non Non Aucune
AllowEditRange.title Non Non Aucune
AllowEditRangeCollection.add Non Non Aucune
AllowEditRangeCollection.pauseProtection Non Non Aucune
Chart.categoryLabelLevel Non Non Aucune
Chart.seriesNameLevel Non Non Aucune
ChartPivotOptions.showAxisFieldButtons Non Oui Aucune
ChartPivotOptions.showLegendFieldButtons Non Oui Aucune
ChartPivotOptions.showReportFilterFieldButtons Non Oui Aucune
ChartPivotOptions.showValueFieldButtons Non Oui Aucune
ChartTrendlineLabel.formula Non Oui Aucune
DataConnectionCollection.refreshAll Non Non Aucune
DocumentProperties.author​ Non Oui Aucune
DocumentProperties.category Non Oui Aucune
DocumentProperties.comments Non Oui Aucune
DocumentProperties.company Non Oui Aucune
DocumentProperties.keywords Non Oui Aucune
DocumentProperties.manager Non Oui Aucune
DocumentProperties.revisionNumber Non Oui Aucune
DocumentProperties.subject Non Oui Aucune
DocumentProperties.title Non Oui Aucune
LinkedWorkbook.refresh Non Non Aucune
LinkedWorkbookCollection.refreshAll Non Non Aucune
NamedItem.comment Non Oui Aucune
PivotTableStyle.delete Non Oui L’API ne prend pas en charge l’annulation de la co-édition dans Excel sur Windows et Mac.
PivotTableStyle.duplicate Non Oui Aucune
PivotTableStyle.name Non Oui Aucune
PivotTableStyleCollection.add Non Oui L’API ne prend pas en charge l’annulation de la co-édition dans Excel sur Windows et Mac.
PivotTableStyleCollection.setDefault Non Oui L’API ne prend pas en charge l’annulation de la co-édition dans Excel sur Windows et Mac.
Query.delete Non Oui L’API prend en charge l’annulation dans Excel sur Windows et Mac, mais ne prend pas en charge la restauration automatique.
Query.refresh Non Oui L’API prend en charge l’annulation d’Excel sur Windows et Mac, mais ne prend pas en charge la restauration automatique.
QueryCollection.refreshAll Non Oui L’API prend en charge l’annulation d’Excel sur Windows et Mac, mais ne prend pas en charge la restauration automatique.
Slicer.name Non Oui Aucune
Slicer.nameInFormula Non Oui Aucune
SlicerStyle.delete Non Oui L’API ne prend pas en charge l’annulation de la co-édition dans Excel sur Windows et Mac.
SlicerStyle.duplicate Non Oui Aucune
SlicerStyle.name Non Oui Aucune
SlicerStyleCollection.add Non Oui L’API ne prend pas en charge l’annulation de la co-édition dans Excel sur Windows et Mac.
SlicerStyleCollection.setDefault Non Oui L’API ne prend pas en charge l’annulation de la co-édition dans Excel sur Windows et Mac.
Style.addIndent Non Oui Aucune
Style.autoIndent Non Oui Aucune
Style.formulaHidden Non Oui Aucune
Style.horizontalAlignment Non Oui Aucune
Style.includeAlignment Non Oui Aucune
Style.includeBorder Non Oui Aucune
Style.includeFont Non Oui Aucune
Style.includeNumber Non Oui Aucune
Style.includePatterns Non Oui Aucune
Style.includeProtection Non Oui Aucune
Style.indentLevel Non Oui Aucune
Style.locked Non Oui Aucune
Style.numberFormat Non Oui Aucune
Style.numberFormatLocal Non Oui Aucune
Style.orientation Non Oui Aucune
Style.readingOrder Non Oui Aucune
Style.shrinkToFit Non Oui Aucune
Style.textOrientation Non Oui Aucune
Style.verticalAlignment Non Oui Aucune
Style.wrapText Non Oui Aucune
TableStyle.delete Non Oui L’API ne prend pas en charge l’annulation de la co-édition dans Excel sur Windows et Mac.
TableStyle.duplicate Non Oui Aucune
TableStyle.name Non Oui Aucune
TableStyleCollection.add Non Oui L’API ne prend pas en charge l’annulation de la co-édition dans Excel sur Windows et Mac.
TableStyleCollection.setDefault Non Oui L’API ne prend pas en charge l’annulation de la co-édition dans Excel sur Windows et Mac.
TimelineStyle.delete Non Oui L’API ne prend pas en charge l’annulation de la co-édition dans Excel sur Windows et Mac.
TimelineStyle.duplicate Non Oui Aucune
TimelineStyle.name Non Oui Aucune
TimelineStyleCollection.add Non Oui L’API ne prend pas en charge l’annulation de la co-édition dans Excel sur Windows et Mac.
TimelineStyleCollection.setDefault Non Oui L’API ne prend pas en charge l’annulation de la co-édition dans Excel sur Windows et Mac.
Workbook.close Non Non Aucune
Workbook.insertWorksheetsFromBase64 Non Non Aucune
Workbook.save Non Non Aucune
WorkbookProtection.protect Non Non Aucune
WorkbookProtection.unprotect Non Non Aucune
Worksheet.copy Non Non Aucune
Worksheet.delete Non Non Aucune
Worksheet.name Oui Non Aucune
Worksheet.standardWidth Non Oui Aucune
Worksheet.position Oui Non Aucune
Worksheet.visibility​ Oui Non Aucune
WorksheetCollection.addFromBase64 Non Non Aucune
WorksheetProtection.pauseProtection Non Non Aucune
WorksheetProtection.protect Non Non Aucune
WorksheetProtection.resumeProtection Non Non Aucune
WorksheetProtection.setPassword Non Non Aucune
WorksheetProtection.unprotect Non Non Aucune
WorksheetProtection.updateOptions Non Non Aucune

Voir aussi