OVH Cloud OVH Cloud

tester la fin d'impression en OLE

4 réponses
Avatar
Olivier
Bonjour,

J'imprime un doc RTF depuis un programme vb grace à un objet OLE.

Comment puis-je tester la fin de l'impression ?

Car , lorsque je veux killer l'objet, j'obtient une alerte word qui me
prévient qu'il a une impression en cours.

Merci..



Olivier

4 réponses

Avatar
Josselin Jouannet
Bonjour
tu dois utiliser l'objet printer

Dim myprinter As Printer 'declaration
'exemple methode
myprinter.EndDoc 'spool l'impression
myprinter.KillDoc 'Arrete l'impression
myprinter.NewPage 'Termine la page en cours et passe à la page suivante de
l'objet Printer
et autres .......
l'objet est bien documenté dans msdn
@+
"Olivier" a écrit :

Bonjour,

J'imprime un doc RTF depuis un programme vb grace à un objet OLE.

Comment puis-je tester la fin de l'impression ?

Car , lorsque je veux killer l'objet, j'obtient une alerte word qui me
prévient qu'il a une impression en cours.

Merci..



Olivier







Avatar
Olivier
Bonjour Josselin,

merci pour cette réponse, mais je n'utilise pas VB pour imprimer mais
Microsoft Word en "OLE automation"( objet "word.application") pour effectuer
cette impression.
C'est d'ailleurs "Word" qui m'affiche le message "impression encours...si
vous fermer l'application, l'impression sera annulée".

Et c'est dans cet objet "word.application" que je veux tester la fin de
l'impression.



"Josselin Jouannet" a écrit
dans le message de
news:
Bonjour
tu dois utiliser l'objet printer

Dim myprinter As Printer 'declaration
'exemple methode
myprinter.EndDoc 'spool l'impression
myprinter.KillDoc 'Arrete l'impression
myprinter.NewPage 'Termine la page en cours et passe à la page suivante de
l'objet Printer
et autres .......
l'objet est bien documenté dans msdn
@+
"Olivier" a écrit :

> Bonjour,
>
> J'imprime un doc RTF depuis un programme vb grace à un objet OLE.
>
> Comment puis-je tester la fin de l'impression ?
>
> Car , lorsque je veux killer l'objet, j'obtient une alerte word qui me
> prévient qu'il a une impression en cours.
>
> Merci..
>
>
>
> Olivier
>
>
>
>
>


Avatar
Jean Yves SÉVENO
Bonjour.

La propriété BackgroundPrintingStatus de l'objet Application de Word renvoie
le nombre de travaux d'impression se trouvant dans la file d'attente
d'impression en arrière plan.

Il suffit donc de boucler dessus jusqu'à ce qu'elle renvoie 0. Quelque chose
comme :

If Application.BackgroundPrintingStatus > 0 Then
Do Until Application.BackgroundPrintingStatus = 0
DoEvents
Loop
End If
Application.Quit

Cordialement.

Jean Yves



"Olivier" a écrit dans le message de news:

Bonjour Josselin,

merci pour cette réponse, mais je n'utilise pas VB pour imprimer mais
Microsoft Word en "OLE automation"( objet "word.application") pour
effectuer
cette impression.
C'est d'ailleurs "Word" qui m'affiche le message "impression encours...si
vous fermer l'application, l'impression sera annulée".

Et c'est dans cet objet "word.application" que je veux tester la fin de
l'impression.



"Josselin Jouannet" a écrit
dans le message de
news:
Bonjour
tu dois utiliser l'objet printer

Dim myprinter As Printer 'declaration
'exemple methode
myprinter.EndDoc 'spool l'impression
myprinter.KillDoc 'Arrete l'impression
myprinter.NewPage 'Termine la page en cours et passe à la page suivante
de
l'objet Printer
et autres .......
l'objet est bien documenté dans msdn
@+
"Olivier" a écrit :

> Bonjour,
>
> J'imprime un doc RTF depuis un programme vb grace à un objet OLE.
>
> Comment puis-je tester la fin de l'impression ?
>
> Car , lorsque je veux killer l'objet, j'obtient une alerte word qui me
> prévient qu'il a une impression en cours.
>
> Merci..
>
>
>
> Olivier
>
>
>
>
>






Avatar
Olivier
Bonjour Jean Yves,

Merci beaucoup, c'est exactement ce qu'il me faut.

Il est vrai que je n'ai pas trouvé de doc exhaustive sur toutes les
propriètés/methode de l'objet "Word".

Merci encore de ton aide,

Cordialement,

Olivier.


"Jean Yves SÉVENO" a écrit dans le message de
news:41b738a5$0$2801$
Bonjour.

La propriété BackgroundPrintingStatus de l'objet Application de Word


renvoie
le nombre de travaux d'impression se trouvant dans la file d'attente
d'impression en arrière plan.

Il suffit donc de boucler dessus jusqu'à ce qu'elle renvoie 0. Quelque


chose
comme :

If Application.BackgroundPrintingStatus > 0 Then
Do Until Application.BackgroundPrintingStatus = 0
DoEvents
Loop
End If
Application.Quit

Cordialement.

Jean Yves



"Olivier" a écrit dans le message de news:

> Bonjour Josselin,
>
> merci pour cette réponse, mais je n'utilise pas VB pour imprimer mais
> Microsoft Word en "OLE automation"( objet "word.application") pour
> effectuer
> cette impression.
> C'est d'ailleurs "Word" qui m'affiche le message "impression


encours...si
> vous fermer l'application, l'impression sera annulée".
>
> Et c'est dans cet objet "word.application" que je veux tester la fin de
> l'impression.
>
>
>
> "Josselin Jouannet" a écrit
> dans le message de
> news:
>> Bonjour
>> tu dois utiliser l'objet printer
>>
>> Dim myprinter As Printer 'declaration
>> 'exemple methode
>> myprinter.EndDoc 'spool l'impression
>> myprinter.KillDoc 'Arrete l'impression
>> myprinter.NewPage 'Termine la page en cours et passe à la page suivante
>> de
>> l'objet Printer
>> et autres .......
>> l'objet est bien documenté dans msdn
>> @+
>> "Olivier" a écrit :
>>
>> > Bonjour,
>> >
>> > J'imprime un doc RTF depuis un programme vb grace à un objet OLE.
>> >
>> > Comment puis-je tester la fin de l'impression ?
>> >
>> > Car , lorsque je veux killer l'objet, j'obtient une alerte word qui


me
>> > prévient qu'il a une impression en cours.
>> >
>> > Merci..
>> >
>> >
>> >
>> > Olivier
>> >
>> >
>> >
>> >
>> >
>
>