Cela revient sans cesse dans mes recherches, donc je vais ajouter une réponse pour le bénéfice des futurs lecteurs.
Je recommande fortement d'éviter l'automatisation Word. Il est douloureusement lent et vous soumet aux caprices des développeurs de Microsoft à chaque mise à niveau. Au lieu de cela, traitez manuellement les fichiers si vous le pouvez. The files are nothing but zipped archives of XML files and resources (telles que les images incorporées dans le document).
Dans ce cas, vous devez simplement décompresser le docx en utilisant votre bibliothèque préférée, manipuler le fichier XML, puis compresser le résultat. Cela nécessite l'utilisation de fichiers docx plutôt que de fichiers doc, mais comme l'explique le lien ci-dessus, il s'agit du format Word par défaut depuis Office 2007 et ne devrait pas poser de problème à moins que vos utilisateurs ne s'accrochent désespérément au passé. . Pour un exemple de gain de temps, nous avons converti, en 2007, un processus qui a duré 45 minutes en utilisant Word Automation et, sur le même matériel, il a fallu 15 SECONDES pour traiter les fichiers manuellement. Pour être clair, je ne blâme pas Microsoft pour cela - leurs méthodes d'automatisation Word ne savent pas comment vous allez manipuler le document, alors ils doivent anticiper et suivre tout ce que vous pourriez changer. Vous, d'autre part, pouvez écrire votre méthode avec la mise au point laser, car vous savez exactement ce que vous voulez faire.
Personnellement, je décomposerais cela; 1 & 2 sont en grande partie sans rapport avec 3, 4 et 5 ... –
@Marc: Hmm. Oui, ce serait l'option la plus sensée. Je me demandais si nous pouvions lire directement le texte de l'objet BLOB. – Magic
Je suis à peu près sûr que vous devriez le stocker quelque part pour pouvoir l'utiliser à partir de Word. Mais utilisez simplement le 'Chemin.GetTempFileName' fonction pour obtenir un nom de fichier temporaire pour le stocker en tant que, puis supprimez-le à la fin. –