Enregistrer des documents par programmation

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

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

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

Pour enregistrer le document actif

  1. Appelez la Save méthode 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 ne savez pas si le document que vous souhaitez enregistrer est le document actif, vous pouvez le faire référence par son nom.

Pour enregistrer un document spécifié par nom

  1. Utilisez le nom du document comme argument pour la Documents collection. 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 avec un nouveau nom

Utilisez la SaveAs méthode pour enregistrer un document avec un nouveau nom. Vous pouvez utiliser cette méthode de l’élément Document hôte dans un projet Word au niveau du document ou d’un objet natif Document dans n’importe quel projet Word. Cette méthode nécessite que vous spécifiiez le nouveau nom de fichier, mais d’autres arguments sont facultatifs.

Remarque

Si vous affichez la boîte de dialogue SaveAs à l’intérieur du DocumentBeforeSave gestionnaire d’événements et ThisDocument définissez le paramètre Cancel sur false, l’application peut cesser 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 avec un nouveau nom

  1. Appelez la méthode de la ThisDocument classe dans votre projet, à l’aide SaveAs 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 SaveAs méthode lève une exception si un répertoire cible n’existe pas ou s’il existe d’autres problèmes lors de l’enregistrement d’un fichier. Il est recommandé d’utiliser untry...catch bloc autour de la méthode ou à l’intérieur SaveAs 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);
    

Pour enregistrer un document natif avec un nouveau nom

  1. Appelez la SaveAs méthode de l’enregistrement à enregistrer à l’aide Document 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é.

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

    Remarque

    La SaveAs méthode lève une exception si un répertoire cible n’existe pas ou s’il existe d’autres problèmes lors de l’enregistrement d’un fichier. C’est une bonne pratique d’utiliser un essai... interceptez le bloc autour de la méthode ou à l’intérieur SaveAs 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 son nom, un document nommé NewDocument.doc doit exister dans un répertoire nommé Test sur le lecteur C.

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