就是在VB60 SP5下做到工资条的格式如下:  
姓名: 张三         姓名: 李四        姓名:王五
部门: 计算机部     部门: 计算机部    部门:计算机部
工号: 18520       工号: 18523       工号:  18535
工资: 3500        工资: 2500        工资:  2300
 ...   ...          ...   ...         ...    ...
 ...   ...          ...   ...         ...    ...
在一张A4纸上可打印出多位职工的工资单。这个问题想了很长时是,没有结果,请高手们指点一下。先谢!

解决方案 »

  1.   

    我對pinter的用法不是很熟,同時我那工資單上的資料來源是通過數據表中來的,不是固定不變的,請zhuqingxipy兄台能不能發一個范例至我的郵箱([email protected]),謝謝!
      

  2.   

    非常感谢zhuqingxipy兄台发来如下的程序代码:
    Private Sub cmdprint_Click()
        Dim i As Integer
        Dim TotalPage, PageNumber As Integer
        
        If grdQuery.Rows <= 1 Then
            MsgBox "没有需要打印的记录。", vbOKOnly + vbExclamation
            Exit Sub
        End If
        
        Screen.MousePointer = vbHourglass
        
        '计算总页码
        If (grdQuery.Rows - 1) Mod 36 = 0 Then
            TotalPage = (grdQuery.Rows - 1) \ 36
        Else
            TotalPage = (grdQuery.Rows - 1) \ 36 + 1
        End If
        
        '设置纸张、字体
        Printer.Orientation = vbPRORLandscape
        Printer.PaperSize = vbPRPSA4
        Printer.FontName = "宋体"
        Printer.FontSize = 9
        
        PageNumber = 1
        
        PrintTitle
        
        For i = 1 To grdQuery.Rows - 1 '依次打印每条记录
            If (i Mod 36 = 1) And (i <> 1) Then '新页开始
                Printer.Line (800, 10290)-(16000, 10290)
                Printer.CurrentX = 14800
                Printer.CurrentY = 10400
                Printer.Print "第" + Format(PageNumber) + "页,共" + Format(TotalPage) + "页"
                Printer.NewPage
                PageNumber = PageNumber + 1
                PrintTitle
            End If
            PrintRow (i)
        Next i
        
        i = (grdQuery.Rows - 1) Mod 36
        If i = 0 Then i = 36
        Printer.Line (800, 1300 + i * 250)-(16000, 1300 + i * 250)
        Printer.CurrentX = 14800
        Printer.CurrentY = 1410 + i * 250
        Printer.Print "第" + Format(PageNumber) + "页,共" + Format(TotalPage) + "页"
        
        Printer.EndDoc '打印结束
        
        Screen.MousePointer = vbNormal
    End Sub
    但是我想知道grdQuery是什么控件?我对printer用得不是很好,同时对程序也不是很理解(因我是菜鸟),能不能请zhuqingxipy兄或其它的高手再给出更详细的例程。谢谢!
      

  3.   

    grdquery是msflexgrid控件,先將資料在msflexgrid中顯示出來,再列印。有興趣的朋友自已再摸索吧!好幾天了,沒有人來回復,不知能不能結貼了。在此非常感謝竹青高手。