就是在VB60 SP5下做到工资条的格式如下:
姓名: 张三 姓名: 李四 姓名:王五
部门: 计算机部 部门: 计算机部 部门:计算机部
工号: 18520 工号: 18523 工号: 18535
工资: 3500 工资: 2500 工资: 2300
... ... ... ... ... ...
... ... ... ... ... ...
在一张A4纸上可打印出多位职工的工资单。这个问题想了很长时是,没有结果,请高手们指点一下。先谢!
姓名: 张三 姓名: 李四 姓名:王五
部门: 计算机部 部门: 计算机部 部门:计算机部
工号: 18520 工号: 18523 工号: 18535
工资: 3500 工资: 2500 工资: 2300
... ... ... ... ... ...
... ... ... ... ... ...
在一张A4纸上可打印出多位职工的工资单。这个问题想了很长时是,没有结果,请高手们指点一下。先谢!
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兄或其它的高手再给出更详细的例程。谢谢!