lepolio
Messages postés6Date d'inscriptionmardi 17 juin 2003StatutMembreDernière intervention 9 mars 2006
-
6 oct. 2003 à 13:33
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 2011
-
6 oct. 2003 à 16:32
lepoliolepolio
Voilà, dans le cadre de mon activité j'ai scanné plusieurs documents pré-imprimés (formulaires, chèques, factures, bon de livraison...) tout simplement pour garder l'agencement et j'aimerais après traitement imprimé uniquement les labels modifié sur mes feuilles pré-imprimées. Avec la méthode printform l'image en arrière plan est quand même imprimée malgré sa propriété visible à false...
Je ne vous parle pas des feuilles au format A4 que j'aimerais afficher et modifier à l'écran avec une barre de défilement verticale par exemple.
D'avance merci à celui ou celle qui me sortira de cette galère.
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 6 oct. 2003 à 16:32
Public Sub print_form()
Call Me.init_Form
For Each ctrl In Me.Controls
Call print_control(printer, ctrl)
Next
printer.EndDoc
End Sub
Private Sub print_control(printer As printer, ByVal control As Object)
If (Left(control.Name, 4) = "Line") Then
printer.Line (control.X1, control.Y1)-(control.X2, control.Y2)
ElseIf (Left(control.Name, 5) = "Image") Then
'printer.Line (control.X1, control.Y1)-(control.X2, control.Y2)
Dim stdPict As New StdPicture
Set stdPict = LoadPicture(App.Path & "\un logo.jpg")
printer.PaintPicture stdPict, control.Left, control.Top, control.Width, control.Height
Else
Select Case control.Alignment
Case vbCenter
printer.CurrentX = control.Left + control.Width / 2 - printer.TextWidth(control.Caption) \ 2
Case vbLeftJustify
printer.CurrentX = control.Left
Case vbRightJustify
printer.CurrentX = control.Left + control.Width - printer.TextWidth(control.Caption)
End Select
printer.CurrentY = control.Top
printer.FontBold = control.Font.Bold
printer.Font.Name = control.Font.Name
printer.Font.Size = control.Font.Size
If (LCase(Left(control.Name, 2) "lb")) Or (Left(control.Name, 5) "Label") Then
printer.Print control.Caption
Else
MsgBox control.Name
End If
End If
End Sub
avec cette methode j'ai l'image de fond qui reste j'imprime que les controles
le pb c'esst que les controles ne correspond pas trop au emplacement sur l'image de fond