XL 2016 VBA - Récupérer le texte d'un fichier PDF

Dudu2

XLDnaute Barbatruc
Bonjour,

Y a-t-il un moyen de chercher et récupérer du texte directement dans un PDF sans avoir à l'ouvrir / tout sélectionner / copier dans le clipboard texte ?

Merci pour toute information.

Edit: Titre modifié pour mieux refléter la solution de cette longue discussion.
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
Et de toutes façons, FindWindow ou pas, il y a la question d'envoi des touches qui doit se faire quand le fenêtre est prête à les recevoir. Et ça on ne le sait pas vraiment. Le FindWindow apporte un début de réponse mais n'est pas suffisant. Je n'ai rien trouvé pour le compléter. C'est là qu'il faudrait faire des recherches.
J'ai essayé des tas d'API et rien ne fonctionne pas pour savoir si la fenêtre est prête.
Alors j'ai tenté un coup en basculant entre les tâches Chrome et Excel avec Alt TAB en supposant que la bascule ne s'opère que si la fenêtre est prête.
Ça fonctionne chez moi en virant le Sleep d'attente juste avec la bascule. A voir chez toi.
 

Pièces jointes

  • Classeur1b.xlsm
    36.2 KB · Affichages: 1

patricktoulon

XLDnaute Barbatruc
je viens de m'apercevoir que tu ne send plus la key Tab
donc là je comprends plus rien
ca marche
bon il y a quand même des ratés mais bon au moins j'ai un résultat
avant je n'avais absolument rien
c'est un petit pas..... 🤣
ps: le classeur 1b (pas pu télécharger)
 

Dudu2

XLDnaute Barbatruc
Et oui, je l'ai expliqué plus haut.
J'ai supprimé le send TAB et je l'ai remplacé par un clic souris au début de l'envoi des touches.
Car chez moi, et je suppute chez toi aussi, après le Ctrl A, si on ne fait rien sur Chrome, il ne prend pas le Ctrl C.
 

Dudu2

XLDnaute Barbatruc
Les ratés c'est le délai Sleep 1000 qui n'est pas suffisant dans certains cas.
On retombe toujours sur le même problème: comment déterminer que la fenêtre Browser est prète à recevoir les touches ?!
Alors on peut mettre Sleep 2000, je pense que ça couvrira 99.99% des cas. C'est un pis-aller.
 

Dudu2

XLDnaute Barbatruc
A ce stade le mieux qu'on puisse faire c'est de paramétrer le temps d'attente.
VB:
'Délai d'attente du Browser
Private Const BrowserWaitMilliSecondes = 1000
Si tu as des ratés essaie de passer à 1500 ou 2000.
Chez moi je n'ai pas de ratés à 1000 sur 50 essais. Mais ça peut dépendre aussi de la taille du PDF et du temps que Chrome met à le charger. Je vais faire des essais de gros PDF.
 

Pièces jointes

  • Classeur1.xlsm
    36.2 KB · Affichages: 0

patricktoulon

XLDnaute Barbatruc
re
alors je repete
tu a trouvé quelque chose de bien c'est les mouse_event a la place tu key Tab
pourquoi c'est bien ?;
et bien par ce que le mouse event est valable pour chrome ou firefox
tandis que le tab me fou le bordel sur firefox
j'ai donc adapté mon principe clipboard
qui consiste a taper , taper ,taper................ les touches CTRL+a+c tant que le clip n'est pas plein
le mouseevent me permet d'avoir la selection de la fenêtre active (chrome ou firefox )

et bien ca patate tant que c'est pas bon
et pour couronner le tout le sleep 1000 suffit pour le départ
j'ai même viré findwindow et findwindow+
terminé
 

Discussions similaires

Statistiques des forums

Discussions
315 123
Messages
2 116 458
Membres
112 747
dernier inscrit
Boudiou