万普插件库

jQuery插件大全与特效教程

Excel VBA【案例分享】这下方便了,销货小票批量打印/电商小工具

本文于2023年9月11日首发于本人同名公众号:Excel活学活用,更多文章案例请搜索关注!

内容提要

  • 用户窗体
  • ListView控件
  • 连续打印

大家好,我是冷水泡茶,今天在EXCELHOME论坛上看到一个求助贴:小票打印机如何实现Excel这样的排版打印效果

他的原始数据是这样的一张表:订单详情列表

这张表看上去还有点奇怪,表头有两行,商品名称也在表头中,对应下面一行是商品单价。如果说我来做这张表,是不太可能象这样设计的。但我们能有什么办法呢,得按照“客户“的要求来啊

他的需求是这样的:

就是按照图示模板选择打印或者全部打印,还有一个“重要提示”:

就是备注里有内容,但是商品数量都为0的也要打印,也就是全部是赠送的东西。

仔细琢磨了一下午,基本实现要求的打印功能,我们一起来看一下:

基本思路与过程:

1、设置用户窗体,在其上放置一个ListView控件,用来显示订单,供选择打印。

加载了数据的ListView:

2、调整“打印模板”,固定格式,只保留一条商品名细行:

把所有数据都清空,以防出现多余的数据。

3、增加一个打印表“Print”,用来循环打印,之所以不在原先的模板中直接打印,是因为它的行数不固定,需要插入或删除行。在原来的模板中操作有点麻烦,倒不如在每次打印前从模板中复制固定的打印格式到“Print”表,根据情况插入行,不需要考虑删除行的问题:

(1)当点打印时,根据选择的ListView中的记录,把订单数据逐一填写到这张表中,如果商品种类数大于1,则需要插入行。

(2)如果出现订单数量为0但备注有信息时,我们去判断备注中包含的商品名称,并把它相应填到商品名称栏,并提取对应的单价。这里默认备注中必然有至少一个商品名称,与表头商品名称完整匹配,否则打印模板中商品明细将没有数据。

4、在明细表“打印数据”中添加一个命令按钮,用来显示打印窗体:

5、所有提及的表格,名称不能更改,表头字段以及模板字段均不能更改,但格式可以调整设置。

6、由于时间关系,表格、窗体、控件的格式都没有去仔细优化调整,有的看起来还是比较粗糙,在这里就只能说抱歉了,待日后有需要时再慢慢美化吧。

7、这个案例可以作为一个小型的网店甚至实体店使用(需要根据实际情况再改造一下),如果没有其他ERP系统或者进销存系统再或者销售管理系统的话,将就着用用也不错。

8、如果再深挖,他这个“打印数据”,如果能参照我们分享过的【收费管理系统】进行设计,从录入到打印一气呵成,那就“完美”了。

动画演示



~~~~~~End~~~~~~

喜欢就点个、点在看留个言、分享一下呗!感谢!

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言