| |
Miembro registrado 119 mensajes |
|
| Publicado el 07,enero 2012 - 22:39 |
Bonjour tout le monde,
dans le cadre d'un projet de développement d'une solution documentaire je devrai pouvoir lire un certain nombre de fichiers word sans que l’interface word soit ouverte.
Je remercierais jamais assez celui ou celle qui me pointera vers un exemple...
Les recherches sur internet m'ont conduites à tomber sur l'exemple "pilotage word" seulement, je ne vois pas de méthode "lire le contenu", je seche un peu...
Toute idée est donc plus que bienvenue!
Merci.
Adi |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 119 mensajes |
|
| Publicado el 09,enero 2012 - 13:04 |
Bonjour,
bon, après beaucoup de recherches sur MSDN, j'ai enfin pu trouver la méthode dont j'ai besoin d'utiliser pour parvenir à sélectionner tout le texte dans le fichier Word. Il s'agit de la méthode wholestory... Et donc avec le code suivant j'arrive à ouvrir le fichier word et y sélectionner le texte entier:
sFilepath est une chaîne = "C:\Users\username\Desktop\test.docx" stemp est une chaîne UNICODE autWorddoc est un objet Automation "Word.Application" autWorddoc>>documents>>add(sFilepath) autWorddoc>>visible=Vrai autWorddoc>>Selection>>WholeStory stemp = autWorddoc>>Selection>>copy Trace(stemp)
mais la trace m'envoi toujours 0 et pas le texte qui dans ce cas est "ceci est un test".
Auriez-vous une idée?
Merci beaucoup pour votre aide.
Adi |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 119 mensajes |
|
| Publicado el 09,enero 2012 - 13:29 |
C'est trouvé, il faut utiliser stemp = autWorddoc>>Selection>>Text() Trace(stemp) envoi maintenant le contenu du fichier. L'avantage est qu'il échappe les image et c'est ce que nous voulions 
Tout va donc bien, merci à moi même 
Adi |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 55 mensajes |
|
| Publicado el 09,enero 2012 - 13:45 |
Merci beaucoup, je viens de poster pour le même problème ^^ Vous venez de m'enlever une ENORME épine du pied !
Merci encore, bonne année |
| |
| |
| | | |
|
| | |
| |
| Publicado el 05,marzo 2012 - 18:13 |
Bonjour,
Merci également pour votre solution. Ça m'a été d'un grand secours.
Laurent. |
| |
| |
| | | |
|
| | |
| |
| Publicado el 28,abril 2012 - 23:58 |
| merci bcp pour ta soulution elle vien de me sauver la vie |
| |
| |
| | | |
|
| | |
| |
| Publicado el 29,enero 2013 - 16:51 |
voici le code modifier sans ouvrir le word sFilepath est une chaîne = "C:\Documents and Settings\IBR INFO\Mes documents\location.doc" stemp est une chaîne UNICODE autWorddoc est un objet Automation "Word.Application" autWorddoc>>documents>>add(sFilepath) autWorddoc>>visible=Faux autWorddoc>>Selection>>WholeStory stemp = autWorddoc>>Selection>>copy //Trace(stemp)
Texte1=PressePapier() //texte1 est un champ de saisie |
| |
| |
| | | |
|
| | |
| |
| Publicado el 29,enero 2013 - 17:34 |
Merci pour la réponse mais si vous regardez la 2ème réponse le même code y figure déjà  |
| |
| |
| | | |
|
| | |
| |
| Publicado el 31,enero 2013 - 07:43 |
oui vous dite deregardez le code de la 2ème réponse qui est le même alors regarde très bien c'est différent mon vieu si vous exécuté le code dela 2ème réponse le word s'ouvre a chaque lecture y comprie la fenetre trace alors je vous lesse deviné si j'ai 7000 fichier word de patient combien de temp faudra t'il et quel puissant pc capable d'ouvrir word et lire 7000 doc en RAM. mon code lit le contenu sans ouvrir le word et le colle dans un champ de saisi ou mieu dans un tableau qui port mes 7000 doc comme je les fait en quelque minute pour un medecin..... |
| |
| |
| | | |
|
| | |
| |
| Publicado el 31,enero 2013 - 07:43 |
| mais concernant le contenu zone de texte dans word ne sont pas récupéré alors avais vous idée comment extraire le contenu aussi avec windev |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 119 mensajes |
|
| Publicado el 31,enero 2013 - 13:35 |
Salut elhacene,
elhacene a écrit dans le message de news <9015a33ce9042bebaf0636fefb48cb04@news.pcsoft> : > mais concernant le contenu zone de texte dans word ne sont pas récupéré alors avais vous idée comment extraire le contenu aussi avec windev
En ce qui concerne le nombre de fichiers à traiter et la vitesse d'exécution, je propose d'utiliser les thread. Je traite plus de 160 000 fichiers sans problème.Le nombre de fichiers à traiter grandit de +- 300 par jour (en plus de vérifier les changement de fichiers existants!!!) Il est claire que tu devras implémenter une sorte de sémaphores pour ne pas tuer la mémoire de ta machine, il faut donc avoir un nombre de thread fixe, disons 3 et de coordonner l'ouverture de fichiers par des sémaphores (faire communiquer le thread entre eux) pour que, entre autre, 2 thread n'ouvrent pas le même fichier en même temps (par exemple)... Chez moi, je gère aussi le temps de lecture d'un fichier (s'il dépasse un certain laps de temps le chemin de fichier est noté et sera traité par une "application fille" qui elle travaille à son aise sur une 2ème machine.
Pour ce qui est l'ouverture de word quand ce dernier est piloté à partir du code proposé, l'instruction autWorddoc>>visible= vrai ou faux fait de sorte à ce que la fenêtre de Word s'ouvre ou pas (faux = pas d'ouverture, vrai = ouverture de la fenêtre).
Et pour ce qui est de copier le contenu du fichier, le code que tu proposes ne fonctionnera pas. Si tu regardes bien ma réponse à ma question tu trouveras ce qu'il faut faire, si non la librairie MSDN t'aidera aussi :
http://msdn.microsoft.com/fr-fr/library/bb386277.aspx http://msdn.microsoft.com/fr-fr/library/cc850833.aspx http://support.microsoft.com/kb/316384
Il y a même moyen d'y extraire que le texte réel et ne pas récupérer les signes de formatage du document (voir premier lien). Si non, servie comme ça, sur le plateau, voici le code qui extrait tout le bazar d'un document word:
sFilepath est une chaîne = "C:\Users\username\Desktop\test.docx" stemp est une chaîne UNICODE autWorddoc est un objet Automation "Word.Application" autWorddoc>>documents>>add(sFilepath) autWorddoc>>visible=faux autWorddoc>>Selection>>WholeStory stemp = autWorddoc>>Selection>>Text()
Salutations |
| |
| |
| | | |
|
| | |
| |
| Publicado el 11,junio 2015 - 11:39 |
Bonjour ,
Svp quelqu'un peut m'aider??, je veux développer une application qui permet d'ajouter des documents de type (excel,word,pdf...) dans une base de donné sql server aprés je veux manipuler ces documents (modifier leurs contenu , supprimer..)
Merci d'avance |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 135 mensajes |
|
| Publicado el 22,septiembre 2017 - 09:38 |
Bonjour,
J'ai utilisé le code ci-dessous proposé par ADI
sFilepath est une chaîne = "C:\Users\username\Desktop\test.docx" stemp est une chaîne UNICODE autWorddoc est un objet Automation "Word.Application" autWorddoc>>documents>>add(sFilepath) autWorddoc>>visible=Vrai autWorddoc>>Selection>>WholeStory stemp = autWorddoc>>Selection>>copy Trace(stemp)
Le add dans l'instruction autWorddoc>>documents>>add(sFilepath) est refusé et povoque une erreur J'ai remplacé add par 'open' Cela fonctionne, à ceci pret que je n'obtiens pas la totalité de du texte contenu dans le fichier Word
Le texte word est dans des tableaux et comprend plusieurs pages .....
Je cherche à récupérer la totalité du texte en brut
Quelles modifs à faire ? Je ne connais pas la programmation microsoft
Merci d'avance
-- Dede 110 Windev depuis version 1.5 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1 mensaje |
|
| Publicado el 02,abril 2019 - 12:45 |
Merci les. Vous venez de résoudre mon problème  |
| |
| |
| | | |
|
| | |