Bonjour bbil et aux autres ...
J'ai fais une petite avancé dans le code en ce qui concerne la sauvegarde autaumatique aprés l'impression. Je rapelle le code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Dim xlapp, classeur, feuille, Doc, pdf
'J'ouvre Excel
Set xlapp = CreateObject("Excel.Application")
'Il reste visible
xlapp.Visible = True
'Je definit ceci
'Set classeur = xlapp.Workbooks.add 'ouvre une feuille excel vierge
'Set feuille = xlapp.ActiveSheet
'J'ouvre Ma feuille xls
Set Doc = xlApp.WorkBooks.open("C:\Documents and Settings\stagiaire\Bureau\Classeur1.xls")
'Ici on définit l'imprimante qui sera utilisée.
ActivePrinter="PDFCreator" |
Ce premier bout (au dessus )de code ouvre le document à imprimer et active l'imprimante à uliliser.
1 2 3 4 5
| 'Efface le fichier sauvegarde.xls s'il existe déja
Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
oFSO.DeleteFile "C:\Documents and Settings\stagiaire\Bureau\VBS\impdf.pdf",True |
Puisque ces impressions seront périodiques, ce deuxieme bout (au dessus )de code efface le doc impdf.pdf s'il existe deja dans le repertoire C:\Documents and Settings\stagiaire\Bureau\VBS et s'il n'exite pas, il affichera une erreur. Pour contourner ce probléme, au debut je mettrais
'On Error Resume Next 'Quand fini, activer ceci pour la ligne 26 au cas ou le fichier n'existe pas
et ce sera resolu à ce niveau (code au dessus);
1 2 3
| 'J'imprime le graph1 de la feuille du classeur connu
Doc.Sheets("Graph1").PrintOut |
Ce bout de code (au dessus ) lance l'impression du graphique sur la feuille.
Sauvegarde et renommage Automatique du pdf imprimé
-----------------------------------------------------
J'aimerais sauvegarder sous un nouveau nom le fichier imprimé dans un repertoire bien spécifique. Pour ce faire, j'ai trouvé ceci sur le Net et je l'ai ajouté à mon programme:
1 2 3 4 5 6 7 8 9
| 'je définis les taches automatiques qui seront faites aprés l'impression: retrouver automatiquement le chemin de sauvegarde
'renommer automatiquement le pdf crée
AutosaveDirectory = "C:\Documents and Settings\user\Bureau\VBS" ' repertoire dans lequel l'enregistrement sera fait
AutosaveFilename = "impdf" ' Nom sous lequel l'enregistrement sera fait
UseAutosave = 1
UseAutosaveDirectory = 1
UseAutosaveFilename = 1
AutosaveFormat = 0 ' PDF |
1.Au premeir test ca a reconnu automatiquement ce repertoire et la boite d'enregistrement s'est placé sur celui ci mais je dois encore mettre le nom et lancer l'enregistrement (cliquer sur enregistrer) à la main.
deuxieme probléme, lorsque je change de repertoire par exemple:
2.C:\Documents and Settings\user\Bureau\Nouveau_repertoire
et je relance l'application, elle reste sur l'ancien je ne sais pas pourquoi
Questions:
Comment le forcer à renommer et enregistrer automatiquement ? (point 1)
Comment le forcer a reconnaitre le bon repertoire (point 2)
Partager