ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 50713|回复: 20

[原创] 运用barcode控件实现批量条形码生成和打印的方法

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-10-23 23:27 | 显示全部楼层 |阅读模式
大家好,鄙人混迹于各大论坛多年一直处于超级深潜状态,今天浮起来透透气。

excel的规范性条码打印似乎在各个excel vba论坛上都是比较令人头痛的问题,解决方案无非是使用字体和barcode控件两种。其中使用barcoder控件生成的比较美观和规范且大小随意可调,条码和数字都有,是比较实用的解决方案。
今天我就发一个本人为工作单位编写的条形码标签批量生成打印程序,基本上解决了大部分的技术难题,欢迎大家多多指正并请高手帮忙完善一下代码。

在打开我发布的标签附件之前,请大家先做好以下工作:
1. 确保使用office 2007完整安装版(缩水版和绿色版可能会缺少必要的组件,2003版确定会有保存问题,更高版本的本人没试过不保证能用)
2. 打开excel -- “excel选项”--“常用” -- 勾选“在功能区显示开发工具选项卡”
3. 打开excel -- “excel选项”--“信任中心” -- “信任中心设置”--“宏设置”--选择“启用所有宏”以及勾选“信任对VBA工程对象模型的访问”
4. 打开excel -- “excel选项”--“信任中心” -- “信任中心设置”--“ActiveX设置”--选择“无限制启用所有空间并且不进行提示”
5. 确定并重启excel

另外大家还应了解:
1. excel 2007中barcoder控件很不完善,会出现很多莫名奇妙的问题
2. 由于兼容性问题承载条形码的文件必须使用excel 2007默认的xlsm文件格式
3. 大家在编写条形码生成程序时必须加入调整条形大小和位置的语句,因为条形码会莫名其妙的改变自己的大小
4. 条形码的白色边会覆盖背景,因此不能保证整个控件都在一个单元格内的时候要使用背景和条码分别打印的方式(没有透明色,谁有好办法解决一下,不胜感激)
5. 所见非所得,在“开发工具”--“设计模式”按钮按下时显示的大小比较准确,但还是要进行打印预览,因为经常会出现打出来的条码超格的现象
6. 所见非所得,在“开发工具”--“设计模式”按钮按下时显示的文字比较准确,但还是要进行打印预览,因为有时会出现打出来的条码文字压扁的现象
7. 修改条码属性在“设计模式”旁边的“属性”里,要打开“设计模式”才能修改,几个关键性的属性
        height控制条码的高度
        left控制条码左边框的位置
        top控制条码上边框的位置
        value控制条码的显示值
        width控制条码的宽度
        visible控制条码是否会被打印出来
8. 条码生成时会弹出窗口提示选择编码格式,附件上的条码均使用code128编码,这部分只能手动选择(可以按数字键选择,谁能给解决一下自动选择的问题?)
9. 修改value以后,要修改一下width或height再改回来,新value才会显示出来
10. 请大家做好备份以便barcode抽筋的时候还能干活(这个是以防万一)

附件中各个宏说明
为了便于大家理解,只是用了最基本的编程语句,大家一看便知
“dayintongqian”对应“打印”按钮,功能为按照右侧表格信息调整条形码内容和位置,并根据总重量生成打印张数和序列号,并分批全部打印出来
“danyedayin”对应“单页打印”按钮,功能类似于“dayintongqian”
“dayinpanqian”对应“新盘签”标签页中的“打印”按钮,功能也是按照右侧表格信息调整条形码内容和位置,生成打印张数和序列号,并全部打印出来
“TM”是条形码的生成程序,因为barcode控件生成时是有序列号的,因此此程序会删除过去的全部条码后再生成新的条码,建议大家使用空白的工作表生成,这样会得到barcodectrl1、barcodectrl2这样的标准序列
“TM5”是条码修改的核心,他的查看位置是模块5

最后请众位高手多多提出改进建议,顺祝大家工作顺利!

桶签.rar (87.99 KB, 下载次数: 5251)

TA的精华主题

TA的得分主题

发表于 2012-10-24 07:10 | 显示全部楼层
先下载下来看看,谢谢分享

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-10-24 16:38 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-10-26 14:03 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-11-24 08:36 | 显示全部楼层
打开后怎么有一部分代码显示有问题?我的是2003的~

TA的精华主题

TA的得分主题

发表于 2012-11-28 22:20 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
好好学习一下,正用得着

TA的精华主题

TA的得分主题

发表于 2013-9-28 15:25 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
先下载看看..学习中...
多谢楼主!

TA的精华主题

TA的得分主题

发表于 2013-11-21 23:16 | 显示全部楼层
ActiveSheet.OLEObjects.Add(ClassType:="BARCODE.BarCodeCtrl.1", Link:=False, DisplayAsIcon:=False, Left:=L, Top:=T, Width:=W, Height:=H).Select

Application.SendKeys (ENTER)
用这个好像可以不需要手动选择。然后再去改Style~

TA的精华主题

TA的得分主题

发表于 2014-1-7 15:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我想说我之前用过这个excel barcode, 可以看看这个生成途径

TA的精华主题

TA的得分主题

发表于 2014-12-19 18:59 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-30 16:30 , Processed in 0.037837 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表