我有一个 TEXT,里面装一堆数字。,我在TEXT里面是垂直排列的,在打印的时候如何能把这些数字很好的打印出来呢,正好又把整个纸装满,如果直接打印TEXT里面的内容的话,太浪费纸张了,如何分成几列在一张纸里面打印出来,请知道 的把代码些出来好吗

解决方案 »

  1.   

    你先设置下字号,看以列打多少个字符,然后打一列后用
    printer.currentx=你要的坐标
    printer.currenty=你要的坐标
    设置下一列打印的起始坐标。如此循环到打完
      

  2.   

    我给你写了一个简单的,你再看着改吧
    Private Sub Command1_Click()
        Dim s As String
        For i = 1 To 1000
            s = s + Str(i)
        Next
        Text1.Text = s
        
        Printer.CurrentY = 200
        Printer.PaperSize = vbPRPSA4 'A4
        hg = Printer.TextHeight("9")
        dw = Printer.TextWidth("9")
        Printer.Font = 9
        
        w = Int(210 * 56.7 / dw) - 10
        Do
          ss = Mid(s, 1, InStr(w, s, " "))
          Printer.Print ss
          Printer.CurrentX = 200
          Printer.CurrentY = Printer.CurrentY + 2 * hg
          s = Mid(s, Len(ss) + 1)
          If Printer.CurrentY > 297 * 56.7 - 200 Then Printer.CurrentY = 200
        Loop While Len(s) > w
        
        Printer.Print s
        Printer.EndDoc
        
    End Sub