Partager via


Enregistrer des documents par programmation

Il existe plusieurs façons d’enregistrer des documents Microsoft Office Word. Vous pouvez enregistrer un document sans modifier le nom ou sous un nouveau nom.

Champ d’application : les informations contenues dans cette rubrique s’appliquent aux projets au niveau du document et aux projets complémentaires VSTO pour Word. Pour plus d’informations, consultez Fonctionnalités disponibles par type d’application et de projet Office.

Enregistrer un document sans modifier le nom

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

  1. Appelez la méthode Save de la classe Document . Pour utiliser cet exemple de code, exécutez-le à partir de la classe ThisDocument de votre projet.

    this.Save();
    

Enregistrer le document actif

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

    this.Application.ActiveDocument.Save();
    

    Si vous n’êtes pas sûr 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 spécifié par nom

  1. Utilisez le nom du document en tant qu’argument de la collection Documents. Pour utiliser cet exemple de code, exécutez-le à partir de la classe ThisDocument ou ThisAddIn de votre projet.

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

Enregistrer 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 Document dans un projet Word au niveau du document ou d’un objet Document natif dans n’importe quel projet Word. Avec cette méthode, vous devez spécifier le nouveau nom du fichier, mais les autres arguments sont facultatifs.

Remarque

Si vous affichez la boîte de dialogue SaveAs à l’intérieur du gestionnaire d’événements DocumentBeforeSave de ThisDocument et que vous définissez le paramètre Cancel sur false, l’application peut se fermer de manière inattendue. Si vous définissez le paramètre Cancel sur true, un message d’erreur s’affiche indiquant que l’enregistrement automatique a été désactivé.

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

  1. Appelez la méthode SaveAs de la classe ThisDocument dans votre projet, à l’aide d’un chemin d’accès complet et d’un nom de fichier. 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 surviennent lors de l’enregistrement d’un fichier. Il est recommandé d’utiliser un bloc try...catch autour de la méthode SaveAs ou à l’intérieur d’une méthode appelante.

    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);
    

Enregistrer un document natif sous un nouveau nom

  1. Appelez la méthode SaveAs du Document que vous souhaitez enregistrer, en utilisant un chemin d’accès complet et un 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 de 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 surviennent lors de l’enregistrement d’un fichier. Il est recommandé d’utiliser un bloc try...catch autour de la méthode SaveAs ou à l’intérieur d’une méthode appelante.

    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);
    

Compiler le code

Cet exemple de code requiert ce qui suit :

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

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