warolle
Messages postés8Date d'inscriptionjeudi 15 avril 2004StatutMembreDernière intervention27 mai 2004
-
27 mai 2004 à 09:12
warolle
Messages postés8Date d'inscriptionjeudi 15 avril 2004StatutMembreDernière intervention27 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é"?
bigboy2g15
Messages postés66Date d'inscriptionmercredi 31 mars 2004StatutMembreDerniè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:
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
warolle
Messages postés8Date d'inscriptionjeudi 15 avril 2004StatutMembreDernière intervention27 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)