Marges en dehors de la zone d'impression

warolle Messages postés 8 Date d'inscription jeudi 15 avril 2004 Statut Membre Dernière intervention 27 mai 2004 - 27 mai 2004 à 09:12
warolle Messages postés 8 Date d'inscription jeudi 15 avril 2004 Statut Membre Dernière intervention 27 mai 2004 - 27 mai 2004 à 10:08
Je souhaite imprimer un document Word sous VB6 sans l'intervention d'un utilisateur

Pour ce , j'ouvre mon document et je fais :
Activedocuments.printout
et ça marche sauf que j'ai un message

"les marges sont en dehors de la zone d'impression
voulez-vous continuer? oui non"

et je valide par oui mais j'aimerai que ça fasse oui automatiquement sans intervenir

j'ai essayé displayalerts=false
on error resume next
mais y a rien a faire
et quand je lance une macro le message n'est pas compris dans le code

2eme petit probleme mais moins important, quand je lance l'impression d'un document Word, il m'ouvre egalement un fichier du meme nom avec un $ devant, ca m'imprime donc 2 documents :
le bon plus un truc bizar.
comment faire pour qu'il ne m'ouvre pas ce fichier "caché"?

pouvez vous m'aider?
merci d'avance!
Bonne journée! :)

2 réponses

bigboy2g15 Messages postés 66 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 3 juin 2004
27 mai 2004 à 09:27
Salut,

Pour les marges, je me suis déja penché sur le problèmes, la seul solution que j'ai trouvé est de bouger les marges :o) c'est bourrin, mais bon.
ca donne un truc comme ca:
monwd.Selection.PageSetup.LeftMargin = CentimetersToPoints(0.95)


pareil pour la droite

Y a peut être une solution plus élégante, mais je ne la connais pas.

Pour imprimer un doc word, voici la fonction que j'ai fai ( ca n'ouvre pas de fichier supplémentaire ) :

Public Sub imprimer_Word(ByVal adr_wd As String)
' imprime un fichier word
' fait avec word  2000

Dim fin As String
Dim i As Integer

fin = Mid(adr_wd, Len(adr_wd) - 2, 3)

If fin <> "doc" Then
    i = MsgBox("Ce n'est pas un fichier word")
    Exit Sub
End If

On Error GoTo prob
Set monwd = CreateObject("Word.Application")

monwd.DisplayAlerts = wdAlertsNone
monwd.Documents.Open adr_wd
monwd.ActiveDocument.PrintOut
'attente de la fin du print pour fermer word

While monwd.BackgroundPrintingStatus <> 0
Wend

monwd.ActiveDocument.Close False
monwd.quit

Set monwd = Nothing

Exit Sub
prob:
Call MsgBox(" Problème d'impression du fichier word " & adr_fic & vbLf & "'  N° erreur:" & Err.Number & vbLf & Err.Description)
    On Error Resume Next
    monwd.quit
    Set monwd = Nothing

End Sub



voila, j'espère que ca a pu t'aider
0
warolle Messages postés 8 Date d'inscription jeudi 15 avril 2004 Statut Membre Dernière intervention 27 mai 2004
27 mai 2004 à 10:08
Merci de ta reponse , mais je ne dois pas toucher au document lui-meme.

meme aux marges. il faut vraiment que je trouve le moyen de répondre "Oui" à ce message.
y a vraiment pas moyen de connaître le nom du message ou un truc dans le genre?
:sad)
0
Rejoignez-nous