|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Date d'inscription: avril 2009
Messages: 14
|
Bonjour à tous !!
Je souhaite créer une macro qui m'ouvre un fichier PDF puis qui fait une sélection générale (CTRL-A) une copie (CTRL-C) puis qui va chercher mon classeur excel et coller la sélection dans ce classeur. J'ai fait le bout de code suivant. Mais rien ne se passe. C'est comme si la sélection ne se faisait pas. Code :
Sub Macro1() Dim MaLigne As Variant retshell = Shell("C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe C:\Users\avial\Desktop\test.pdf") 'Attendre 2 secondes Application.Wait (Now + TimeValue("0:00:02")) AppActivate (retshell) 'Donner le focus à Acrobat Reader SendKeys ("^{a}") 'Sélectionner tout avec CTRL-A AppActivate (retshell) SendKeys ("^{c}") 'Copier avec CTRL-C 'Attendre 2 secondes Application.Wait (Now + TimeValue("0:00:02")) 'AppActivate "Microsoft Excel" 'Redonner le focus à Excel retshell2 = Shell("C:\Program Files\Microsoft Office\OFFICE11\excel.exe C:\Users\avial\Desktop\TOTO.xls") AppActivate (retshell2) Sheets("Feuil1").Select MaLigne = Range("A65536").End(xlUp).Address MaLigne = Range(MaLigne).Row Sheets("Feuil1").Range("A" & MaLigne + 1).Select SendKeys ("^(v)") 'ActiveSheet.Paste End Sub Merci |
|
|
|
|
|
#2 |
![]() |
salut,
dans ta ligne de shell, il y a une espace dans le path du repertoire Adobe. Pour pallier a cette erreur, il faut encadrer le path par des "" essaie avec Code :
retshell = Shell("""C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe""" & """C:\Users\avial\Desktop\test.pdf""")
__________________
Pas de question technique par MP, je ne réponds pas ![]() Mon perso ? Une vraie brute Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
|
|
|
|
|
#3 |
|
Invité régulier
![]() Date d'inscription: avril 2009
Messages: 14
|
J'ai fait le test et je pense que ce n'est pas la raison du problème car je n'arrive à présent plus à ouvrir mon fichier "test.pdf" alors que précédemment cela fonctionnait avant. Je pense que le problème se trouve au niveau de la sélection (CTRL-A) et (CTRL-C) car lorsque j'arrête l'exécution du programme je n'ai pas de sélection active.
|
|
|
|
|
|
#4 |
|
Invité régulier
![]() Date d'inscription: avril 2009
Messages: 14
|
J'ai réussi à faire mon copier coller mais le problème est que je n'arrive pas à ouvrir mes différents fichiers en boucle. Le programme marche pour le premier fichier mais pas pour le second.
Il me met une erreur au niveau de la ligne AppActivate (retshell). Peut etre cela est du au fait que le programme AcroRd32 tourne en fond dans le gestionnaire de tâches. Peut etre faudrait-il le décharger mais je ne sais pas comment faire. Je joins mon code pour illustrer mon cas ... Code :
Sub Macro1() Dim MaLigne As Variant Dim retshell As Integer For i = 1 To 22 retshell = Shell("C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe C:\Users\avial\Desktop\ECARTS PDF\test (" & i & ").pdf", vbNormalFocus) Application.Wait (Now + TimeValue("0:00:02")) AppActivate (retshell) SendKeys ("^{a}") SendKeys ("^{c}") Application.Wait (Now + TimeValue("0:00:02")) retshell2 = Shell("C:\Program Files\Microsoft Office\OFFICE11\excel.exe C:\Users\avial\Desktop\TOTO.xls", vbNormalFocus) AppActivate (retshell2) Sheets("Feuil1").Select MaLigne = Range("A65536").End(xlUp).Address MaLigne = Range(MaLigne).Row Sheets("Feuil1").Range("A" & MaLigne + 1).Select SendKeys ("^{v}") SendKeys ("^{s}") SendKeys ("%{F4}") AppActivate (retshell) SendKeys ("%{F4}") 'Workbooks("PDF2XLS.xls").Activate Next End Sub |
|
|
|
|
|
#5 |
|
Membre éprouvé
![]() |
bonjour Arkamarasof, jpcheck,
AppActivate avec le nom du titre de la fenêtre : pas l'instruction de lancement ! La chaine est du genre : Code :
C:\Users\avial\Desktop\ECARTS PDF\test (" & i & ").pdf A essayer. ESVBA |
|
|
|
|
|
#6 | |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: janvier 2006
Localisation: France 87
Messages: 21
|
Bonjour tout le monde,
cette solution de code vba pourrait résoudre le problème que j'ai mentionné dans une autre discussion : http://www.developpez.net/forums/d88...l/#post5013914 Citation:
Mais deux problèmes se posent : 1) au lancement de la macro, Acrobat s'ouvre avec le premier fichier "test (1).pdf" mais ensuite j'ai le message "Erreur d'exécution '5' : argument ou appel de procédure incorrect". Et quand je clique sur le bouton "Débogage" j'ai le premier "AppActivate (retshell)" du code qui est en surbrillance. 2) Même manuellement le CTRL+A (sélectionner tout) puis CTRL+C (copier) ne copie pas le contenu des champs de mes fichiers PDF. Il ne copie que le nom des champs. En effet, lorsque je retourne sur Excel et que je fais CTRL+V (coller), cela ne colle que le nom des champs l'un en dessus de l'autre (une ligne par champs) dans une même colonne. Auriez vous une idée de ce que je pourrais faire SVP ? |
|
|
|
|
|
|
![]() |
||
[XL-2003] Ouvrir fichier PDF
|
||
| Outils de la discussion | |
|
|