


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用printer对象打印表格用msflexgrid 控件显示的表格,要将它打印出来,最简单的方法是用 printform 方法, 然而这只适合于数据正好能被屏幕显示的,即数据量少的,而且这种打印效果很差。而用 prin ter 对象进行打印编程,虽然麻烦点,但效果却是相当不错的,你可以自定义打印格式,打印页数,表格的粗细,字体大小等。实际上用printer对象进行打印编程是比较简单的。下面我就用一实例来说明:打印的内容是一张数据表,这里就只有两列数据,包括标题,副标题。(用A4纸打印)假设数据处在 C_DataArray(),和R_DataArray()中C_Name与R_Name分别为两数据
2、项 的字段名Public Sub Prin ttable()初始化Dimpri nter1 as Prin terDim pageheaderDim pagefooterDim pageleftDim pagerightDim usewidthDim useheightDim i , j , k As IntegerDim word As Stri ngDim startxDim startyDim startyli ne用来纪录打印竖线的起点Dim endyline 用来纪录打印竖线的末点 设置页面参数pageheader = 25pagefooter = 25pageleft = 20pa
3、geright = 20With prin terl.PaperSize = 9.ScaleMode = 6.Fon tBold = True.ScaleLeft = -20.ScaleTop = -25.ScaleWidth = 210 设置为 A4 纸.ScaleHeight = 297usewidth = .ScaleWidth40useheight = .ScaleHeight50.Curre ntY = 0.DrawWidth = 5End With打印标题With prin terl.Fo ntSize = 20.Curre ntX = (usewidth.TextWidth(Da
4、taTitle) / 2.Curre ntY = pageheader + .ScaleTopEnd Withprin ter1.Pri nt DataTitle打印副标题prin ter1.F on tSize = 15word = DataTitle2prin ter1.Curre ntX = usewidthpri nter1.TextWidth(word)printer1.Print word打印第一条线 Line方法不能用在with .end withprin ter1.Curre ntX = pageleft + prin ter1.ScaleLeftstartyli ne = p
5、rin ter1.Curre ntY线宽prin terl.Curre ntY)prin terl.Fo ntSize = 10prin terl.Pri nt vbLfprin terl.Curre ntY = prin terl.Curre ntY + 1打印第一个字段名starty = prin ter1.Curre ntYprin ter1.Curre ntX = (pri nter1.ScaleWidth40) / 2pri nter1.TextWidth(C_Name)/ 2prin ter1.Pri ntC_Name打印第二个字段名prin ter1.Curre ntX = us
6、ewidth / 2 + (usewidth / 2pri nter1.TextWidth(R_Name)/ 2)prin ter1.Curre ntY = startyprin ter1.Pri nt R_Nameprin ter1.Curre ntY = prin ter1.Curre ntY + 1打印数据和横线,rown um为数据行数For i = 1 To row num判断是否该页已打满打印横线prin terl.Curre ntX = prin terl.ScaleLeft + pageleft printerl.Line -(printerl.ScaleLeft + prin
7、terl.ScaleWidthpageleft)prin terl.Curre ntY)prin ter1.Curre ntY = prin ter1.Curre ntY + 1打印三条竖线en dyli ne = prin ter1.Curre ntYprinter1.Line (0, startyline)-(O , endyline)en dyli ne)prin ter1.L ine (usewidth / 2, startyli ne)-(usewidth / 2,printer1.Line (usewidth, startyline)-(usewidth, endyline)打印页
8、号With prin ter1.Curre ntX = (.ScaleWidth.TextWidth (.P age) / 2pageleft.Curre ntY = useheight + 3End Withprinter1.Print printer1.Pageprin ter1.NewPageWith prin ter1.Curre ntX = pageleft + .ScaleLeft startyli ne = .Curre ntYEnd WithEnd If打印一行数据prin terl.Curre ntX = (pri nter1.ScaleWidth40) /2pri nter
9、1.TextWidth(C_DataArray(i) / 2starty = prin ter1.Curre ntYprin ter1.Pri nt C_DataArray(i)prin ter1.Curre ntX = (pri nter1.ScaleWidth40) / 2 + (pri nter1.ScaleWidth40) /2pri nter1.TextWidth(R_DataArray(i) ) / 2prin ter1.Curre ntY = startyprin ter1.Pri nt R_DataArray(i)prin ter1.Curre ntY = prin ter1.
10、Curre ntY + 1Next i打印最后一条横线prin ter1.Curre ntX = prin ter1.ScaleLeft + pageleftprinter1.Line -(printer1.ScaleLeft + printer1.ScaleWidthpageleft)prin ter1.Curre ntY)en dyli ne = prin ter1.Curre ntY打印三条竖线printer1.Line (0, startyline)-(O , endyline)prin terl.L ine (usewidth,startyline)-(usewidth,en dyli n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年眼科眼部常见疾病诊断策略模拟测试题答案及解析
- 2025临时摊位租赁合同模板
- 2025【合同范本】个人投资协议书模板
- 2025年急诊医学临床实践考核答案及解析
- 欢乐购物街 活动二 买卖我做主 (教案)-2024-2025学年人教版数学一年级下册
- 2025年昆明购房合同
- 2025年社区医学健康知识宣教与健康促进策略考核答案及解析
- 2025年精神科精神障碍护理综合实践测试卷答案及解析
- 2025年全科专业继续教育需求调查试卷答案及解析
- 2025年核医学诊断解读能力测验答案及解析
- 麻醉深度监测-洞察及研究
- 铁路专项病害课件
- 2025年口腔修复学笔试题及答案
- 开学安全教育课件
- 桥梁养护应急知识培训课件
- 2025年学历类自考专业(学前教育)学前儿童发展-学前教育原理参考题库含答案解析(5套)
- 2025-2026学年人教版(2024)初中化学九年级上册教学计划及进度表
- 日本设备销售合同范本
- 《研学旅行指导师实务》课件-第6章 基(营)地研学课程操作
- 二年级上册生命安全教育教学计划
- 中国美术史课件完整版
评论
0/150
提交评论