第一范文网 - 专业文章范例文档资料分享平台

VB打印条码极简单的方法

来源:用户分享 时间:2025/11/7 14:53:14 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

VB打印条码极简单的方法

公司接到一个医院病案的软件升级改造任务,在客户的程序中增加打印条码功能,因为客户的程序是VB开发的,因为客户提出需要自行调整打印参数等,一开始就调用word来打印,文字等信息都能够正常打印出,打印参数也能够调整,打印效果很好,但是打印的条码不能识别;

于是寻求万能的Internet,搜索后发现网上的许多资料都是于code39为例,要不就是复杂,使用code39的条码原理,使用画图控件画图来实现;要不就是看不懂,不能实现;要不就是很简单,也下载了相关的代码,也有在word中调用barcode控件,但是我一直到没有找到可行或者说看明白的(代码都是没有注释的),也下载多个代码,但是使用barcode在word打印的都没有成功,最后在绿竹小龙的博客中找到可行的方法,并且是说的很明白的(有些细节不详,需要认真思考后才明白!),也是使用mocrosoft的barcode控件,打印form,在这总结了我的经验,给大家参考,避免大家走弯路,在这里特别感谢绿竹小龙,也感谢各位的无私奉献,大家如果不明白可以33333804@163.com联系。 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 Me.LblBL.Count‘根据标签控件的个数(与text控件的个数相对应,方便赋值)

Me.TextBL(i).Text = FrmBLFMPrint.TextBL(i).Text‘从其他form将需要打印的控件值赋值过来,准备打印 Next

'去掉住院号前面的0,要求不打印住院号前面的0 ZYH = Trim(Me.TextBL(1).Text) ZyhTemp=zyh

For i2 = 1 To 10‘住院号是10位的,所以从左边逐一检查住院号,将0全部去掉 If Left(ZYH, 1) = \左边第一位是0,则去掉0

ZYH = Right(ZYH, Len(ZYH) - 1) Else

‘当检查到左边第一位非0时,就退出循环,并保存最后的住院号 Me.TextBL(1).Text = ZYH Exit For End If Next

'住院次数标准为3位数字,不够位数前面补0 Dim ZYCS As String

ZYCS = Trim(Me.TextBL(0).Text)

For i = 0 To 3 - Len(Trim(Me.TextBL(0).Text)) - 1 ZYCS = \Next

Me.BarCodeCtrl1.Value = zyhtemp&zycs‘给条码控件赋值 Sleep 1000‘暂停1秒 Me.PrintForm‘打印窗体 Unload Me‘关闭窗体 End Sub 打印效果:

在看了绿竹小龙的博客后,我也尝试的他说的方法,但是条码死活就是不能识别,他的截图能够识别条码,我按照他的方法连截图后不能识别,非常郁闷。最后只能是不是打印窗体的方法来完成任务,缺点是不能在打印时调整打印参数了。

在这里附上他的方法:他的一开始的方法是使用windows的API函数,先对条码控件抓图,在贴到picture控件后再打印,也是发现打印出的条码不能识别,最后也是使用打印form方法解决,大家有兴趣可以去看看他的博客http://blog.sina.com.cn/s/blog_66b5659d0101dyps.html。

博客原文:

应用VB编程实现条码打印

(2013-06-04 00:27:32) 转载

分类: VB

前几天公司突然接到客户的要求,需要我们公司在所有的外包装盒上贴上规定的条码,该条码由零件号、供应商代码、生产批次代码共三个部分组成,我公司立即购买了条码打印机,但是销售商提供的Intermec

条码打印机并没有随机软件,该公司也不具备条码打印软件的开发能力,所以他们推荐我们使用一款通用的条码编辑打印软件的破解版本LABLEVIEW进行打印,通过使用过后发现使用这个软件对本公司的适用性不够、数据库连接处理能力较差,每一个数据都需要人工输入,出错的机率较大。为此,领导要求公司计算机室拿出一个好的办法来。我们经过一段时间的研究,发现通过VB编程调用微软OFFICE自带的条形码控件Microsoft Barcode Control 9.0进行条形码的编辑并打印,这样做一是可以按需定制需打印的条形码,另一个软件短小精干,实用性强,占用系统资源也低,实用效果不错。考虑到刚开始的时候在网上查找资料很多都不实用而有这种需求的人很多,所以特把自己的设计经验拿出来与大家共享。希望能对有这方面需求的人有所帮助。 1、程序设计思路

首先要简要了解一下BARCODE9控件,这是微软自带的一个条形码控件,其中的STYLE属性控制条形码的类形,当值为6时为CODE39码(仅包含最简单的数值和字符,零售流通领域常用),当值为7时为CODE128码(字符比较齐全,目前比较通用),结合客户的要求,编程中使用CODE128码。

编程思路为:针对客户的条码三段式要求,第一段为零件号,第二段为供应商编码(固定),第三段为基本由日期生成的生产批次号,窗体中设置可选择的组合框控件用于选择不同的零件号,文本框控件用于设置供应商编码,另一文本框用于读取系统日期并按要求输出生产批次。再设置一条形码控件,由条码确定按钮使条码的VALUE赋值为前面的三段式条码各段的累加。由于条形码控件没有打印属性,还得设置一个图片控件用于条形码的转贴打印。 再通过按钮控件打印。

选择零件号、供应商编码、生产批次号 条形码控件 条码输出 条码确定按钮

条码控件VALUE属性赋值

条码----剪贴板---图片控件---打印图片 条码打印按钮

2、程序设计步骤

2.1窗体设计 根据流程设定,能很快设计出程序主窗体:如下图 2.2代码编写: 对按钮控件编写代码 条码确定及预览:

Private Sub Command1_Click()

BarCodeCtrl1.Value = combox1.Text + Text2.Text + Text3.Text End Sub

搜索更多关于: VB打印条码极简单的方法 的文档
VB打印条码极简单的方法.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0clnp57awy0wacx0ffp8_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top