cs_marco59
Messages postés9Date d'inscriptionmardi 26 novembre 2002StatutMembreDernière intervention 9 mai 2003
-
5 janv. 2003 à 18:12
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 2013
-
17 avril 2004 à 18:53
Marco59
Bonjour,
J'ai un texte qui vient d'un fichier .txt qui ce trouve dans un Label. Je voudrais l'imprimer mais la longueur des phrases fait qu'elles dépassent de la feuille. Comment faire pour que l'impression revienne à la ligne automatiquement ?
Merci d'avance A+
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 7 janv. 2003 à 12:35
Dim Texte As String
Private Sub Command1_Click()
'Le texte à imprimer est dans la variable Texte
'par exemple Texte = Label1.Caption
Printer.ScaleMode = vbMillimeters
Const LargeurPage = 200 'page de 200 mm de large
Dim Ligne As String
Dim i As Integer, f As Integer
Do While Len(Texte) > 0
Ligne = ""
GoSub Découpage
Loop
Printer.EndDoc
Exit Sub
Découpage:
If Printer.TextWidth(Texte) <= LargeurPage Then
Ligne = Texte
Texte = ""
Printer.Print Ligne
Printer.EndDoc
Exit Sub
End If
For i = 1 To Len(Texte)
Ligne = Ligne & Mid(Texte, i, 1)
If Printer.TextWidth(Ligne) > LargeurPage Then Exit For If Right(Ligne, 1) Chr(32) Then f i - 1 'on ne coupe pas à l'intérieur d'un mot
Next i
Ligne = Left(Texte, f)
Texte = Mid(Texte, f + 1)
Printer.Print Ligne
Return
End Sub