我用vsflexgrid + vsprint控件, 我怎么得到打印的总页数?
解决方案 »
- VBA 如何通过赋值运算将cells单元格的属性也复制过去
- 求一vb小项目
- 急!! 如何使点窗口最小化后使窗口后台运行
- 一个关于在vb中把数据库(SQL2000)的数据更新与添加
- 400分求vb的约瑟夫环的写法,在线等!!~~~~~~~~~~~~~~~~~
- 关于 WINDOWS MEDIA PLAYER控件的用法
- 我打开一个用Lotus做的IE可是用IE.LocationUrl取到的地址为空,这个时候请问要如何才能关闭此IE,用IE.Quit关不掉,还有其他办法吗?
- 出现“参考类型不正确,或不在可接受范围之内,或与其他类型相冲突”的错误。
- 谁能给我一份用MAPI控件发送邮件的代码?
- 一个中等的问题.COME ON!
- WinXP中ActiveX控件的.ocx文件应放在哪个文件夹??
- 求教:VB中的动态创建菜单的问题
还有,能请你发一个vsprint打印vsflexgrid表格的例子给我吗?谢谢。
[email protected]
Dim bOK%, sMsg$
Select Case Tool.Name
Case "zoomout":
VSPrinter1.Zoom = VSPrinter1.Zoom + VSPrinter1.ZoomStep
Case "zoomin":
VSPrinter1.Zoom = VSPrinter1.Zoom - VSPrinter1.ZoomStep
Case "page": '选择纸张设置
VSPrinter1.PrintDialog (pdPageSetup)
With VSPrinter1
.StartDoc
.Zoom = 75 '显示比例
.RenderControl = bsemployee.vg.hwnd '把网格内容传递给vsView显示
.EndDoc ActiveBar21.Bands(1).Tools(0).Caption = " 第 " + Trim(str(.PreviewPage)) + " 页"
ActiveBar21.Bands(1).Tools(1).Caption = " 共 " + Trim(str(.PageCount)) + " 页"
If .PageCount = 1 Then
ActiveBar21.Bands(0).Tools(0).Enabled = True
ActiveBar21.Bands(0).Tools(1).Enabled = True
ActiveBar21.Bands(0).Tools(3).Enabled = False
ActiveBar21.Bands(0).Tools(4).Enabled = False
Else
ActiveBar21.Bands(0).Tools(0).Enabled = True
ActiveBar21.Bands(0).Tools(1).Enabled = True
ActiveBar21.Bands(0).Tools(3).Enabled = False
ActiveBar21.Bands(0).Tools(4).Enabled = True
End If
End With
Case "back": '前页
With VSPrinter1
If .PreviewPage > 1 Then
.PreviewPage = .PreviewPage - 1
If .PreviewPage = 1 Then
ActiveBar21.Bands(0).Tools(4).Enabled = True
ActiveBar21.Bands(0).Tools(3).Enabled = False
ActiveBar21.Bands(1).Tools(0).Caption = " 第 " + Trim(str(.PreviewPage)) + " 页" Else
ActiveBar21.Bands(0).Tools(4).Enabled = True
ActiveBar21.Bands(0).Tools(3).Enabled = True
ActiveBar21.Bands(1).Tools(0).Caption = " 第 " + Trim(str(.PreviewPage)) + " 页"
End If
Else
If .PreviewPage = 1 Then
ActiveBar21.Bands(0).Tools(4).Enabled = True
ActiveBar21.Bands(0).Tools(3).Enabled = False
ActiveBar21.Bands(1).Tools(0).Caption = " 第 " + Trim(str(.PreviewPage)) + " 页"
Else
ActiveBar21.Bands(0).Tools(4).Enabled = True
ActiveBar21.Bands(0).Tools(3).Enabled = True
ActiveBar21.Bands(1).Tools(0).Caption = " 第 " + Trim(str(.PreviewPage)) + " 页"
End If
End If
End With Case "forward": '后页
With VSPrinter1
If .PreviewPage < .PageCount Then
.PreviewPage = .PreviewPage + 1
If .PreviewPage = .PageCount Then
ActiveBar21.Bands(0).Tools(3).Enabled = True
ActiveBar21.Bands(0).Tools(4).Enabled = False
ActiveBar21.Bands(1).Tools(0).Caption = " 第 " + Trim(str(.PreviewPage)) + " 页"
Else
ActiveBar21.Bands(0).Tools(4).Enabled = True
ActiveBar21.Bands(0).Tools(3).Enabled = True
ActiveBar21.Bands(1).Tools(0).Caption = " 第 " + Trim(str(.PreviewPage)) + " 页"
End If
Else
If .PreviewPage = .PageCount Then
ActiveBar21.Bands(0).Tools(3).Enabled = True
ActiveBar21.Bands(0).Tools(4).Enabled = False
ActiveBar21.Bands(1).Tools(0).Caption = " 第 " + Trim(str(.PreviewPage)) + " 页"
Else
ActiveBar21.Bands(0).Tools(4).Enabled = True
ActiveBar21.Bands(0).Tools(3).Enabled = True
ActiveBar21.Bands(1).Tools(0).Caption = " 第 " + Trim(str(.PreviewPage)) + " 页"
End If
End If
End With
Case "print": '打印输出
VSPrinter1.PrintDoc Case "quit": Unload Me
End Select
End Sub
当前页 = " 第 " + Trim(str(.PreviewPage)) + " 页"
总页数 = " 共 " + Trim(str(.PageCount)) + " 页"
因此你如果要在报表上添加总页数是不行的。有个傻方法,你可先提交,提交完成后,PageCount就是总页数了,把它赋值给变量V1,用V1作为总页数,再提交一次。
没办法中的办法。