Bonjour,
Mon application access me permet d'imprimer en masse une liste de documents dont le chemin complet est contenu dans une table.
J'ai écrit une procédure qui ouvre Word, puis parcours dans une boucle ma table et qui pour chaque enregistrement ouvre le chemin_complet, l'imprime et referme le document.
Le code passe à la compilation, et semble fonctionner.
Pour des documents de petite taille, le spool de l'impression est quasi immédiat, donc pas de problèmes... Pour des documents plus gros, certains documents semblent se fermer avant que le spool vers l'imprimante ne soit terminé...
Résultat, lorsque je récupère mes impressions à l'imprimantes, certains documents sont manquants et d'autres édités seulement partiellement.
Ci dessous le code que j'ai écrit.
Avez vous une solution qui me permette de ma''surer que le spool vers l'imprimante est terminé avant de ferme mon document ?
d'avance merci pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Private Sub BtnImprimer_Click() Dim RC_Fact As DAO.Recordset Dim WordApp As Word.Application Dim bConfirm As Boolean Set RC_Fact = CurrentDb.OpenRecordset("Table_Liste_Document", dbOpenDynaset, dbSeeChanges) Set WordApp = CreateObject("word.application") WordApp.Visible = False WordApp.DisplayAlerts = False WordApp.Documents.Add bConfirm = WordApp.Options.ConfirmConversions WordApp.Options.ConfirmConversions = False RC_Fact.MoveFirst While Not RC_Fact.EOF WordApp.Documents.Open RC_Fact.Fields("Chemin_document").Value WordApp.ActiveDocument.PrintOut WordApp.ActiveDocument.Close savechanges:=False RC_Fact.MoveNext Wend WordApp.Options.ConfirmConversions = bConfirm WordApp.DisplayAlerts = True WordApp.Quit savechanges:=False Set WordApp = Nothing Set RC_Fact = Nothing End Sub
Partager