Ok - I think I understand your question.

You have a string that is too big for the printer to print on one line.

So you need to cut it up.

I ripped this from a program we have here - I had to make edits in NOTEPAD to remove a whole lot of other stuff it was doing - hopefully it will work for you as is. x, y and z are dim'd long and strPara is the string to print.

VB Code:
  1. Do While Len(strPara)
  2.  
  3.     y = Printer.Width   ' Width in twips of printer
  4.    
  5.     If Printer.TextWidth(strPara) > y Then  ' Size of what we want to print is too big
  6.        
  7.         z = Len(strPara)    ' Length of it in characters
  8.        
  9.         Do While Printer.TextWidth(Left(strPara, z)) > y
  10.             z = z - 1       ' Backup until it will fit
  11.         Loop
  12.        
  13.         y = z           ' Position that fits
  14.        
  15.         z = Asc(Mid(strPara, y + 1, 1)) ' ASC value of next character
  16.    
  17.         If z <> 32 Then     ' That next character is not a space
  18.             z = Asc(Mid(strPara, y, 1))
  19.             Do While z <> 32    ' Start backing up till we find the space
  20.                 y = y - 1
  21.                 z = Asc(Mid(strPara, y, 1))
  22.             Loop
  23.         End If
  24.         Printer.Print Trim(Left(strPara, y))
  25.         strPara = Mid(strPara, y + 1)
  26.     Else
  27.         Printer.Print Trim(strPara)
  28.         Exit Do
  29.     End If
  30. Loop