VB打印条码极简单的方法
公司接到一个医院病案的软件升级改造任务,在客户的程序中增加打印条码功能,因为客户的程序是VB开发的,因为客户提出需要自行调整打印参数等,一开始就调用word来打印,文字等信息都能够正常打印出,打印参数也能够调整,打印效果很好,但是打印的条码不能识别;
,搜索后发现网上的许多资料都是于code39为例,要不就是复杂,使用code39的条码原理,使用画图控件画图来实现;要不就是看不懂,不能实现;要不就是很简单,也下载了相关的代码,也有在word中调用barcode控件,但是我一直到没有找到可行或者说看明白的(代码都是没有注释的),也下载多个代码,但是使用barcode在word打印的都没有成功,最后在绿竹小龙的博客中找到可行的方法,并且是说的很明白的(有些细节不详,需要认真思考后才明白!),也是使用mocrosoft的barcode控件,打印form,在这总结了我的经验,给大家参考,避免大家走弯路,在这里特别感谢绿竹小龙,也感谢各位的无私奉献,大家如果不明白可以33333804@联系。
1、注册mocrosoft的barcode控件,网上可以找到并下载;
2、使用新form来显示打印的内容,调整form的大小与打印纸的大小一样
3、添加picture控件,为什么要使用picture控件,是在打印后发现,没有picture控件打印的效果很差,字
体看不清;在picture控件上添加barcode的控件,在picture控件上
添加barcode的控件,STYLE属性控制条形码的类形,当值为6时为CODE39码(仅包含最简单的数值和字符,零售流通领域常用),当值为7时为CODE128码(字符比较齐全,目前比较通用),结合客户的要求,编程中使用CODE128码
4、添加其他的需要打印的控件,设置好字体等,
5、激活from时将需要打印的内容赋值给对应控件,
6、等待1秒后(因为picture控件的关系,赋值后马上打印经常会出现空白内容)
7、打印form
8、关闭form
具体的代码见下:
使用条码机打印,条码纸规格是6cm*6cm
打印的内容有住院号、住院号+住院次数的条码、姓名、性别、出院日期、入院日期、出院科室
所以form的内容是:picture控件、text控件、label控件的背景色设为与条码纸一样的颜色(白色),条码是用barcode控件,其他使用text控件。
Form激活时的代码:
Private Sub Form_Activate()
‘Form激活时的代码
Dim ZYH As String‘定义住院号为文本类型
Dim ZyhTemp As String‘定义临时的住院号为文本类型
For i = 0 To ‘根据标签控件的个数(与text控件的个数相对应,方便赋值)
(i).Text = (i).Text‘从其他form将需要打印的控件值赋值过来,准备打印 Next
'去掉住院号前面的0,要求不打印住院号前面的0
ZYH = Trim((1).Text)
ZyhTemp=zyh
For i2 =
VB打印条码极简单的方法 来自淘豆网m.daumloan.com转载请标明出处.