Bonjour, je suis en train d'essayer d'adapter à mes besoins le trés bon tuto pour imprimer ses états en PDF via PDFCreator. Je rencontre plusieurs problèmes, je vais donc y aller par étape.
Pour commencer j'ai donc installer PDFCreator et paramétré le dossier par défaut dans Windows\Temp. J'ai également mis l'imprimante PDF par défaut. Mon programme ouvre et imprime mon état via cette imprimante, et doit le copier dans un autre répertoire (celui de l'installation du programme) avant d'effacer celui du dossier Temp. J'ai procédé comme ceci :
Le problème c'est que, malgré que je le force à attendre qu'il soit crée avant de le copier, je me retrouve avec une erreur 70 d'Autorisation. Je suppose que ça vient du fait que temporairement le fichier qui se crée est utilisé pour écrire dedans, et c'est pour ça que je ne peux pas le copier, car si il existe déjà la procédure ne plante pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 DoCmd.OpenReport "S1", acViewNormal ' Patiente jusqu'à ce que le fichier soit présent sur le disque dur Do While Dir(GetSpecialFolder(CSIDL_WINDOWS) & "\Temp\sipcs.pdf") = "" Loop ' Copie le fichier dans le dossier de l'application et supprime celui dans Temp FileCopy GetSpecialFolder(CSIDL_WINDOWS) & "\Temp\sipcs.pdf", CurrentProject.Path & "\PDFs\F-S1.pdf" Kill GetSpecialFolder(CSIDL_WINDOWS) & "\Temp\sipcs.pdf"
De quelle façon "propre" je peux lui dire, au niveau du do while, d'attendre que le fichier soit complétement crée avant de continuer ? Merci.
Partager