OVH Cloud OVH Cloud

un peu de classe...

2 réponses
Avatar
SystemC
Bonjour,

J'aimerais automatiser une tâche et le mettre dans le robot. J'aimerais
pourvoir extraire de l'information d'un fichier PDF avec un copié collé.
Jusqu'à maintenant ca fonctionne très bien avec le code suivant :

Sub ImportPDF()
Dim ReturnValue, I
ReturnValue = Shell("C:\Program Files\Adobe\Acrobat 6.0\Acrobat\Acrobat.exe
" + "C:\Temp\" + "FICL Client Report " + Format(Date, "YYYYMMDD") + ".PDF",
1) ' Run Calculator.
DelayDateAdd 10 'attendre 10 secondes
SendKeys "%EL", False ' Envois le commande de tout selectionner
SendKeys "%EC", False ' Envois le commande de copier

SendKeys "%{F4}", True ' Envoie la combinaison ALT+F4 pour fermer acrobat

'retourne dans excel pour coller le presse papier
Sheets("PDFDATA").Select
Cells.ClearContents
Cells(1, 1).Select
ActiveSheet.Paste

End Sub
Private Sub DelayDateAdd(HowLong As Date)
TempTime = DateAdd("s", HowLong, Now)
While TempTime > Now
DoEvents 'Allows windows to handle other stuff
Wend
End Sub

Par contre, je me dit que c'est un peu jouer avec le feu avec le fait
d'attendre 10 secondes avant que le traitement principal soit terminé.

Quelqu'un a des suggestion?

Merci

2 réponses

Avatar
Bouzou Le Clone
Oupsss.............. Mille excuses !

A y est, c'est corrigé.

Bisous de Bozo

"GD" a écrit dans le message de
news:
Bonsour® Bouzou Le Clone
Bozo !!!! arrete de faire le Clown et régle ton horloge !!!!
;o)))
@+
wrote:
Hello,

Tu pourrais attendre que le handle de la fenêtre Acrobat Reader soit
créé :

Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Sub ImportPDF()
' ..........
ReturnValue = Shell("..........", 1)
Do Until FindWindow(vbNullString, "Acrobat Reader - [FICL Client
Report " & _
Format(Date, "YYYYMMDD") & "]")
DoEvents
Loop
SendKeys ..........
End Sub

"SystemC" a écrit dans le message
de news:
Bonjour,

J'aimerais automatiser une tâche et le mettre dans le robot.
J'aimerais pourvoir extraire de l'information d'un fichier PDF avec
un copié collé. Jusqu'à maintenant ca fonctionne très bien avec le
code suivant :

Sub ImportPDF()
Dim ReturnValue, I
ReturnValue = Shell("C:Program FilesAdobeAcrobat
6.0AcrobatAcrobat.exe " + "C:Temp" + "FICL Client Report " +
Format(Date, "YYYYMMDD") + ".PDF", 1) ' Run Calculator.
DelayDateAdd 10 'attendre 10 secondes
SendKeys "%EL", False ' Envois le commande de tout selectionner
SendKeys "%EC", False ' Envois le commande de copier

SendKeys "%{F4}", True ' Envoie la combinaison ALT+F4 pour fermer
acrobat

'retourne dans excel pour coller le presse papier
Sheets("PDFDATA").Select
Cells.ClearContents
Cells(1, 1).Select
ActiveSheet.Paste

End Sub
Private Sub DelayDateAdd(HowLong As Date)
TempTime = DateAdd("s", HowLong, Now)
While TempTime > Now
DoEvents 'Allows windows to handle other stuff
Wend
End Sub

Par contre, je me dit que c'est un peu jouer avec le feu avec le fait
d'attendre 10 secondes avant que le traitement principal soit
terminé.

Quelqu'un a des suggestion?

Merci








Avatar
GD
Bonsour® Bouzou Le Clone
Bozo !!!! arrete de faire le Clown et régle ton horloge !!!!
;o)))
@+
wrote:
Hello,

Tu pourrais attendre que le handle de la fenêtre Acrobat Reader soit
créé :

Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Sub ImportPDF()
' ..........
ReturnValue = Shell("..........", 1)
Do Until FindWindow(vbNullString, "Acrobat Reader - [FICL Client
Report " & _
Format(Date, "YYYYMMDD") & "]")
DoEvents
Loop
SendKeys ..........
End Sub

"SystemC" a écrit dans le message
de news:
Bonjour,

J'aimerais automatiser une tâche et le mettre dans le robot.
J'aimerais pourvoir extraire de l'information d'un fichier PDF avec
un copié collé. Jusqu'à maintenant ca fonctionne très bien avec le
code suivant :

Sub ImportPDF()
Dim ReturnValue, I
ReturnValue = Shell("C:Program FilesAdobeAcrobat
6.0AcrobatAcrobat.exe " + "C:Temp" + "FICL Client Report " +
Format(Date, "YYYYMMDD") + ".PDF", 1) ' Run Calculator.
DelayDateAdd 10 'attendre 10 secondes
SendKeys "%EL", False ' Envois le commande de tout selectionner
SendKeys "%EC", False ' Envois le commande de copier

SendKeys "%{F4}", True ' Envoie la combinaison ALT+F4 pour fermer
acrobat

'retourne dans excel pour coller le presse papier
Sheets("PDFDATA").Select
Cells.ClearContents
Cells(1, 1).Select
ActiveSheet.Paste

End Sub
Private Sub DelayDateAdd(HowLong As Date)
TempTime = DateAdd("s", HowLong, Now)
While TempTime > Now
DoEvents 'Allows windows to handle other stuff
Wend
End Sub

Par contre, je me dit que c'est un peu jouer avec le feu avec le fait
d'attendre 10 secondes avant que le traitement principal soit
terminé.

Quelqu'un a des suggestion?

Merci