Certains états. Les structures génèrent des rapports dans des fichiers doc. Quelque part, cela se fait à la main, et quelque part automatiquement. Imaginez que l'on vous demande de traiter une tonne de tels documents. Cela peut être nécessaire pour isoler certaines informations spécifiques ou simplement vérifier le contenu. Nous devons supprimer uniquement le texte non formaté sans graphiques ni images. Par exemple, ces données sont plus faciles à insérer dans un réseau neuronal pour une analyse plus approfondie.
Voici quelques options pour la personne la plus ordinaire:
- Les poignées parcourent tous les fichiers un par un. Après le dixième document, l'idée vous viendra que vous faites quelque chose de mal.
- Essayez de trouver sur Internet une bibliothèque spéciale (extension) pour travailler avec des fichiers doc dans un langage de programmation que vous possédez. Passez une autre heure à comprendre comment travailler avec cette bibliothèque. Vous devez également faire face au fait que les principes de travail avec doc et docx sont légèrement différents.
- Essayez de réenregistrer automatiquement tous les documents dans un format différent, ce qui sera plus pratique à utiliser.
À peu près la dernière option et nous parlerons.
Et un script vbs se dépêche de nous aider. Un script vbs peut être appelé à partir de la ligne de commande, ce qui peut être fait dans n'importe quel langage de programmation.
Créer un fichier converter.vbs
Const wdFormatText = 2 Set objWord = CreateObject("Word.Application") Set objDoc = objWord.Documents.Open(Wscript.Arguments.Item(0), True) objDoc.SaveAs WScript.Arguments.Item(1), wdFormatText objWord.Quit
Dans la première ligne, nous indiquons dans quel format nous allons convertir: 2 - en txt, 17 - en pdf.
Tous les formats peuvent être consultés
ici . Dans la deuxième ligne, nous ouvrons directement le mot. Après ouverture, vous pouvez ajouter la ligne suivante:
objWord.Visible = TRUE
Cela nous fera voir le processus d'ouverture de Word. Cela peut être utile si, à un moment donné, une erreur se produit, le mot ne se ferme pas, et sans cette ligne, le processus ne peut être tué que via le gestionnaire de tâches, et nous pouvons simplement cliquer sur la croix.
À l'invite de commandes, le script s'exécutera comme suit:
converter.vbs ___\_.docx ___\___
Wscript.Arguments.Item (0) est le chemin d'accès complet au fichier \ nom_fichier.docx
WScript.Arguments.Item (1) - full_path_to_save_save \ file_name sans extension
En conséquence, dans la troisième ligne de notre script, nous ouvrons le fichier et sur la ligne suivante, nous enregistrons au format spécifié. Et à la fin, nous fermons le mot.
Il y a une autre petite astuce dont vous avez besoin. Parfois, en raison de différences dans les versions de Word ou pour d'autres raisons, Word peut jurer, disant que le fichier est endommagé. Lors de l'ouverture manuelle du fichier, nous verrons un avertissement «la table est endommagée, continuer l'ouverture du fichier?». Et il vous suffit de cliquer sur "Oui", mais le script arrêtera son travail à ce stade.
Vbs a une construction try catch très maladroite. Vous pouvez contourner ce problème en ajoutant seulement deux lignes. Au total, un script stable à part entière est le suivant:
Const wdFormatText = 2 Set objWord = CreateObject("Word.Application") objWord.Visible = TRUE On Error Resume Next Set objDoc = objWord.Documents.Open(Wscript.Arguments.Item(0), True) Set objDoc = objWord.Documents.Open(Wscript.Arguments.Item(0), True) objDoc.SaveAs WScript.Arguments.Item(1), wdFormatText objWord.Quit
Comme vous pouvez le voir, l'ouverture du fichier est dupliquée. Dans le cas où tout est en ordre avec le fichier, le fichier s'ouvrira simplement deux fois, et en cas d'erreur, il continuera simplement à ouvrir le fichier.
Et pour chaque pompier, un exemple de l'apparence d'une fonction en Python
import os
Ensuite, appliquez simplement cette fonction à tous les fichiers qui doivent être convertis.
Résumé
- Cette solution convient à tous les formats de mots.
- Vous n'avez pas passé plus de 10 minutes à lire cet article.
- Vous pouvez implémenter en connaissant n'importe quel langage de programmation.