但我不想用WORD或其他的方法,只想用VB一手包办

解决方案 »

  1.   

    '那么,你用 PRINTER 打印机对象吧.
    '下面是我某个程序中打印的部分,希望对你有帮助.
    '先在窗体上建用LINE 数组画好线,用固定好 LABEL 位置. 
    '
    '
    Sub PrintPage(Index As Long, X As Long, Y As Long)  '打印
        Dim a As Long
        Dim B As Long
        B = Line1.Count - 1
        For a = 0 To B
            If a <= 16 Then
               Printer.CurrentX = X + Label1(a).Left '标题
               Printer.CurrentY = Y + Label1(a).Top
               Printer.Print Label1(a).Caption
               Printer.CurrentX = X + Label3(a).Left '内容
               Printer.CurrentY = Y + Label3(a).Top
               Printer.Print Label3(a).Caption
            End If
            Printer.Line (Line1(a).X1 + X, Line1(a).Y1 + Y)-(Line1(a).X2 + X, Line1(a).Y2 + Y) '划线
        Next a
        PageNumLab.Caption = "-" & (Index + 1) & "-"
        Printer.CurrentX = X + PageNumLab.Left '内容
        Printer.CurrentY = Y + PageNumLab.Top
        Printer.Print PageNumLab.Caption
        Printer.Line (X, PageNumLab.Top + PageNumLab.Height + DltY * 2 / 3 + Y)- _
                     (Picture3.Width + X, PageNumLab.Top + PageNumLab.Height + DltY * 2 / 3 + Y) '划线
    End Sub
      

  2.   

    看你要打印成什么样的了,用print方法差不多可以打印成你要的所有情况
      

  3.   

    printer 在 2000和XP下定义不了纸张的大小,还要用API