Anthony importe régulièrement plusieurs rapports, dans des fichiers texte (par exemple, filename.txt), dans Word. Il utilise ensuite des macros pour formater ces informations importées. Une fois la macro de mise en forme terminée, Anthony utilise manuellement «Enregistrer sous» pour chaque rapport pour l’enregistrer en tant que document Word. Il se demande quelles commandes il devrait ajouter à sa macro pour automatiser la dernière étape de sauvegarde des données. Anthony aimerait que la macro enregistre le fichier en utilisant le même nom racine que le fichier texte d’origine, en le changeant uniquement au format Word, comme dans filename.docx.

Les étapes pour enregistrer réellement le fichier sont relativement simples. Considérez l’extrait de code suivant, qui enregistre un document au format Word:

ActiveDocument.SaveAs FileName:=sDocName, _   FileFormat:=wdFormatDocument

Le nom du fichier est stocké dans la variable sDocName et le paramètre de la propriété FileFormat indique que vous souhaitez que le document soit enregistré au format Word. Dans une macro existante, la seule chose à faire serait de configurer sDocName avec le nom de fichier souhaité.

En supposant que vous avez enregistré le nom de votre fichier texte d’origine dans la variable sOrigName, vous pouvez utiliser le code suivant pour changer l’extension en .doc, puis enregistrer le fichier:

sDocName = Left(sOrigName, Len(sOrigName) - 4)

sDocName = sDocName & ".docx"

ActiveDocument.SaveAs FileName:=sDocName, _   FileFormat:=wdFormatDocument

Le code suppose que les quatre derniers caractères de sOrigName contiennent l’extension de nom de fichier (le point plus trois caractères). Ceux-ci sont supprimés et l’extension « .docx » ajoutée. Si vous n’êtes pas sûr de la durée de l’extension de nom de fichier pour le fichier d’origine, vous pouvez vous fier à la fonction Split pour le séparer, si vous le souhaitez:

sNameParts = Split(sOrigName, ".")

sDocName = sNameParts(0) & ".docx"

ActiveDocument.SaveAs FileName:=sDocName, _   FileFormat:=wdFormatDocument

Pour que cette macro fonctionne, assurez-vous de déclarer sNameParts en tant que tableau de chaînes.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites WordTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / wordribbon-WordTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

WordTips est votre source pour une formation Microsoft Word rentable.

(Microsoft Word est le logiciel de traitement de texte le plus populaire au monde.) Cette astuce (404) s’applique à Microsoft Word 2007, 2010, 2013 et 2016. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu de Word ici:

link: / word-Saving_in_Document_Format_from_a_Macro [Enregistrement au format de document à partir d’une macro].