Enregistrer des classeurs par programmation

Il existe plusieurs façons d'enregistrer un classeur. Vous pouvez le faire sans modifier le chemin d’accès. Si le classeur n'a pas été enregistré auparavant, vous devez l'enregistrer en spécifiant un chemin d'accès. Sans chemin d’accès explicite, Microsoft Office Excel enregistre le fichier dans le dossier actif avec le nom qui lui a été attribué lors de sa création. Vous pouvez également enregistrer une copie du classeur sans modifier le classeur ouvert en mémoire.

S’applique à : les informations contenues dans cette rubrique s’appliquent aux projets au niveau du document et aux projets de complément VSTO pour Excel. Pour plus d’informations, consultez Fonctionnalités disponibles par application Office lication et le type de projet.

Enregistrer un classeur sans modifier le chemin d’accès

Pour enregistrer un classeur associé à une personnalisation au niveau du document

  1. Appelez la méthode Save de la classe ThisWorkbook .

    this.Save();
    

Pour enregistrer le classeur actif dans un complément VSTO

  1. Appelez la méthode Save pour enregistrer le classeur actif. Pour utiliser l’exemple de code suivant, exécutez-le dans la classe ThisAddIn dans un projet de complément VSTO pour Excel.

    this.Application.ActiveWorkbook.Save();
    

Enregistrer un classeur avec un nouveau chemin d’accès

Vous pouvez enregistrer le classeur spécifié dans un nouvel emplacement ou avec un nouveau nom, en spécifiant éventuellement un format de fichier, un mot de passe, un mode d'accès, etc.

Remarque

Vous pouvez définir la DisplayAlerts propriété sur False avant d’enregistrer le classeur avec un nouveau chemin, car l’enregistrement dans certains formats nécessite une interaction. La définition de cette propriété sur False entraîne l’utilisation d’Excel par défaut.

Pour enregistrer un classeur associé à une personnalisation au niveau du document

  1. Appelez la méthode SaveAs de la classe ThisWorkbook . Pour utiliser l'exemple de code suivant, exécutez-le dans la classe ThisWorkbook.

    this.SaveAs(@"C:\Book1.xml", missing,
        missing, missing, missing, missing, Excel.XlSaveAsAccessMode.xlNoChange,
        missing, missing, missing, missing, missing);
    

Pour enregistrer le classeur actif dans un complément VSTO

  1. Appelez la méthode SaveAs pour enregistrer le classeur actif avec un nouveau chemin d’accès. Pour utiliser l’exemple de code suivant, exécutez-le dans la classe ThisAddIn dans un projet de complément VSTO pour Excel.

    this.Application.ActiveWorkbook.SaveAs(@"C:\Test\Book1.xml", 
        Excel.XlSaveAsAccessMode.xlNoChange);
    

Enregistrer une copie du classeur

Vous pouvez enregistrer une copie du classeur dans un fichier sans modifier le classeur ouvert en mémoire. Cela est utile quand vous souhaitez créer une copie de sauvegarde sans modifier l'emplacement du classeur.

Pour enregistrer un classeur associé à une personnalisation au niveau du document

  1. Appelez la méthode SaveCopyAs de la classe ThisWorkbook . Pour utiliser l'exemple de code suivant, exécutez-le dans la classe ThisWorkbook.

    this.SaveCopyAs(@"C:\Book1.xlsx");
    

Pour enregistrer le classeur actif dans un complément VSTO

  1. Appelez la méthode SaveCopyAs pour enregistrer une copie du classeur actif. Pour utiliser l’exemple de code suivant, exécutez-le dans la classe ThisAddIn dans un projet de complément VSTO pour Excel.

    this.Application.ActiveWorkbook.SaveCopyAs(@"C\Book1.xlsx");
    

Pour vérifier que l’enregistrement a réussi

Vous pouvez utiliser certaines des propriétés DocumentProperties comme la dernière heure d’enregistrement pour vérifier que l’enregistrement a réussi.

Programmation fiable

L'annulation interactive d'une quelconque des méthodes qui enregistrent ou copient le classeur génère une erreur d'exécution dans votre code. Par exemple, si votre procédure appelle la SaveAs méthode, mais ne désactive pas les invites d’Excel, et que votre utilisateur clique sur Annuler lorsque vous y êtes invité, Excel déclenche une erreur d’exécution.