Skriva ut en textbox med lång text. Det är inte så lätt som det verkar Kom på att jag blandat ihop ord och tecken 40 ord/rad är för mycket bör vara 15/printerrad Men bör man inte titta på antal rader i utskriftsrutinen, om det är en sida eller flera.Printer
Hur skriver jag coden för att få skrivaren att börja på en ny rad
K.U. JonssonSv: Printer
Du får göra Split på hela texten och därefter läsa av arrayen ett bestämt antal ord.
<code>
Dim txtArray() As String
Dim printTxt As String
Dim i As Long
Dim j As Long
txtArray = Split(Text1.Text)
'Nu har du en Array med Ubound(txtArray) antal ord i
'Sen får du köra en Forslinga och läsa antal ord du vill ha på samma rad.
For i = 1 To Ubound(txtArray)
printTxt = printTxt & txtArray(i-1) & " "
If i Mod 40 = 0 Then '40 ord / printrad
Printer.Print printTxt
printTxt = ""
End If
If Ubound(txtArray) - i < 40 Then ' sista delen som är mindre än 40
For j = i -1 To Ubound(txtArray)
printTxt = printTxt & txtArray(j) & " "
Printer.Print printTxt
Next 'j
Exit For
End If
Next 'i
Printer.EndDoc
</code>
Fritt ur huvudet, tror att det funkar,eller har jag missat nått ?
Edit: har justerat 15:50 se. For i = 1 To Ubound(txtArray) och txtArray(i-1)Sv: Printer
Sv: Printer
Har för mig att 57 rader är bra till första sidan och andra raden är 61 rader.