Page 1 sur 1

[..] Fin de boucle quand un fichier est sauvegardé en entier

Posté : jeu. 05 janv. 2012 12:44
par aubais30
Bonjour à toutes et à tous

Mon but : Ouvrir des pdf contenu dans une base de données grâce à Acrobat reader, les sauvegarder dans un endroit donnée et passer à l'enregistrement suivant dans ma base de donnée.
Mon souci : Le délais d'ouverture et de sauvegarde du pdf varie selon sa taille (ou autre chose d'ailleurs ...)

Donc si quelqu'un peu me donner un tuyau ;)

Bertrand

Ce que j'ai actuellement et qui ne fonctionne pas ... :

Code : Tout sélectionner

for $i=1 to 10

    ;Donner le Focus à Filemaker
    WinActivate("FileMaker Pro Advanced")
    ;Verifier que Fmp est bien actif
    
    WinWaitActive("FileMaker Pro Advanced")
    Send("^1")
    Send("!s")
    Send("{down}")
    Send("{enter}")
    sleep(1000)
; Ici Acrobat doit se lancer et ouvrir le pdf
    ;Donner le Focus à Acrobat
    WinWaitActive("[CLASS:AcrobatSDIWindow]")
    MouseClick("left",1505,538,2)
    Send("+^s")
    sleep(500)
    Send("^v")
    Send("{enter}")
    sleep(1000)

    While Not FileExists(ClipGet())
    sleep(500)
    WEnd
    WinClose("[ACTIVE]", "")
next
J'ai également essayé avec une boucle mais c'est encore pire (certainement du à une erreur de ma part ....

Code : Tout sélectionner

for $i=1 to 10

    ;Donner le Focus à Filemaker
    WinActivate("FileMaker Pro Advanced")
    ;Verifier que Fmp est bien actif
    WinWaitActive("FileMaker Pro Advanced")
    ;Lancer le script via le menu script (Ctrl  ne fonctionne pas ?)
    Send("^1")
    Send("!s")
    Send("{down}")
    Send("{enter}")
    ;Local $Var = ClipGet()
    sleep(1000)

    ;Donner le Focus à Acrobat
    WinWaitActive("[CLASS:AcrobatSDIWindow]")
    MouseClick("left",1505,538,2)
    Send("+^s")
    sleep(500)
    Send("^v")
    Send("{enter}")
    sleep(1000)

    For $a =1 To 5
        If FileExists(Clipget())Then
            sleep(1000)
            $a = 5
            WinClose("[ACTIVE]", "")
        Else
            sleep(1000)
            $a = $a+1
        EndIf
    Next



next
MsgBox(0, "Export", "Export terminé!")

Re: [..]Fin de boucle quand un fichier est sauvegardé en ent

Posté : jeu. 05 janv. 2012 13:06
par jchd
Attention, reposer sur des Send et MouseClick va _obligatoirement_ provoquer un désastre à un moment ou un autre, du fait de la première loi de l'EUM.

Perso, j'emploierais le pilote ODBC de FileMaker Pro pour taper dans la base et faire sous AutoIt ce qu'il y a à faire en toute sécurité, avec traitement d'erreur et gilet pare-balle.

Re: [..]Fin de boucle quand un fichier est sauvegardé en ent

Posté : jeu. 05 janv. 2012 14:07
par DimVar

Re: [..] Fin de boucle quand un fichier est sauvegardé en en

Posté : ven. 06 janv. 2012 17:24
par aubais30
Bonjour,

Pour plusieurs raison je ne peux pas utiliser ODBC, j'ai reussi à faire quasi tout comme je le souhaitais mais il reste ce probleme de variabilité de temps d'ouverture du pdf
Existe t il une solution pour redémarrer (continuer) le script qu'une fois le document ouvert ?


Merci et bon week end

Bertrand

Re: [..] Fin de boucle quand un fichier est sauvegardé en en

Posté : ven. 06 janv. 2012 18:03
par DimVar
Bonjour,

En connaissant le poids du fichier source avant, il est possible de boucler jusqu’à ce que le poids du fichier cible soit atteint.

Cdlt.