Partager via


Comment : enregistrer des documents par programmation

Il existe plusieurs méthodes d'enregistrement de documents Microsoft Office Word.Ainsi, vous pouvez enregistrer un document sans modifier son nom ou sous un nouveau nom.

S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau document et de niveau application pour Word 2013 et Word 2010. Pour en savoir plus, consultez Fonctionnalités disponibles par type d'application et de projet Office.

Enregistrement d'un document sans modifier le nom

Pour enregistrer le document associé à une personnalisation au niveau du document

  • Appelez la méthode Save de la classe Microsoft.Office.Tools.Word.Document.Pour utiliser cet exemple de code, exécutez-le dans votre projet à partir de la classe ThisDocument.

    Me.Save()
    
    this.Save();
    

Pour enregistrer le document actif

  • Appelez la méthode _Document.Save pour le document actif.Pour utiliser cet exemple de code, exécutez-le à partir de la classe ThisDocument ou ThisAddIn dans votre projet.

    Me.Application.ActiveDocument.Save()
    
    this.Application.ActiveDocument.Save();
    

Si vous n'êtes pas certain que le document que vous souhaitez enregistrer est le document actif, vous pouvez y faire référence par son nom.

Pour enregistrer un document dont le nom est spécifié

  • Utilisez le nom du document comme argument pour la collection Documents :Pour utiliser cet exemple de code, exécutez-le à partir de la classe ThisDocument ou ThisAddIn dans votre projet.

    Me.Application.Documents("C:\Test\NewDocument.docx").Save()
    
    this.Application.Documents[@"C:\Test\NewDocument.docx"].Save();
    

Enregistrement d'un document sous un nouveau nom

Utilisez la méthode SaveAs pour enregistrer un document sous un nouveau nom.Vous pouvez utiliser cette méthode de l'élément hôte Microsoft.Office.Tools.Word.Document dans un projet Word au niveau du document ou d'un objet Microsoft.Office.Interop.Word.Document natif dans tout projet Word.Vous devez spécifier le nouveau nom de fichier. Les autres arguments sont par contre facultatifs.

[!REMARQUE]

Si vous affichez la boîte de dialogue Enregistrer sous dans le gestionnaire d'événements DocumentBeforeSave de ThisDocument et que vous affectez au paramètre Cancel la valeur false, l'application peut prendre fin de manière inattendue.Si vous affectez au paramètre Cancel la valeur true, un message d'erreur indique que l'enregistrement automatique a été désactivé.

Pour enregistrer le document associé à une personnalisation au niveau du document sous un nouveau nom

  • Appelez la méthode SaveAs de la classe ThisDocument dans votre projet, à l'aide d'un chemin et d'un nom de fichier qualifiés complets.Si un fichier du même nom existe déjà dans ce dossier, il est automatiquement remplacé.Pour utiliser cet exemple de code, exécutez-le à partir de la classe ThisDocument.

    [!REMARQUE]

    La méthode SaveAs lève une exception si un répertoire cible n'existe pas ou si d'autres problèmes surgissent lors de l'enregistrement d'un fichier.Il est toujours conseillé d'utiliser un bloc try…catch autour de la méthode SaveAs ou à l'intérieur d'une méthode appelante.

    Me.SaveAs("C:\Test\NewDocument.docx")
    
    object fileName = @"C:\Test\NewDocument.docx"; 
    
    this.SaveAs(ref fileName,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing);
    

Pour enregistrer un document natif sous un nouveau nom

  • Appelez la méthode SaveAs du Microsoft.Office.Interop.Word.Document que vous souhaitez enregistrer, prenant en paramètre un chemin qualifié complet incluant le nom du fichier.Si un fichier du même nom existe déjà dans ce dossier, il est automatiquement remplacé.

    L'exemple de code suivant enregistre le document actif sous un nouveau nom.Pour utiliser cet exemple de code, exécutez-le à partir de la classe ThisDocument ou ThisAddIn dans votre projet.

    [!REMARQUE]

    La méthode SaveAs lève une exception si un répertoire cible n'existe pas ou si d'autres problèmes surgissent lors de l'enregistrement d'un fichier.Il est toujours conseillé d'utiliser un bloc try…catch autour de la méthode SaveAs ou à l'intérieur d'une méthode appelante.

    Me.Application.ActiveDocument.SaveAs("C:\Test\NewDocument.docx")
    
    object fileName = @"C:\Test\NewDocument.docx";
    
    this.Application.ActiveDocument.SaveAs(ref fileName,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing);
    

Compilation du code

Cet exemple de code nécessite ce qui suit :

  • Pour enregistrer un document par nom, un document nommé NouveauDocument.doc doit exister dans un répertoire Test sur le lecteur C.

  • Pour enregistrer un document sous un nouveau nom, un répertoire Test doit exister sur le lecteur C.

Voir aussi

Tâches

Comment : fermer des documents par programmation

Comment : ouvrir des documents existants par programmation

Concepts

Élément hôte de document

Paramètres optionnels dans les solutions Office