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
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.
Enregistrer le document actif
Appelez la méthode Save pour le document actif. Pour utiliser cet exemple de code, exécutez-le à partir de la classe
ThisDocument
ouThisAddIn
de votre projet.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
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
ouThisAddIn
de votre projet.
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
Appelez la méthode
SaveAs
de la classeThisDocument
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 classeThisDocument
.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 bloctry...catch
autour de la méthodeSaveAs
ou à l’intérieur d’une méthode appelante.
Enregistrer un document natif sous un nouveau nom
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
ouThisAddIn
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.