ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 林程乐

[求助] vba实现二维码code-128码和code-39码

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-12-9 22:21 | 显示全部楼层
liu0wei2008 发表于 2024-12-9 15:02
循环什么的你来加吧,路径自己改下,代码放到CurBar = 0这句后面,这是Code128的

朋友,您果然厉害,去除不能运行的那一句,能将这些一条一条小形状合成一个大形状。虽然不是图片格式,但也很好。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-12-9 22:36 | 显示全部楼层
liu0wei2008 发表于 2024-12-9 15:02
循环什么的你来加吧,路径自己改下,代码放到CurBar = 0这句后面,这是Code128的

朋友。您果厉害把你的代码后面加几句
  1. With Selection.ShapeRange.Group
  2.     .Select
  3.     .CopyPicture 1, -4147
  4.     .Delete
  5. End With
  6. ActiveSheet.PasteSpecial Format:="Picture (Enhanced Metafile)", Link:=False, DisplayAsIcon:=False
复制代码

居然完美生成图片了

TA的精华主题

TA的得分主题

发表于 2024-12-10 09:22 | 显示全部楼层
wcj6376tcp 发表于 2024-12-9 19:19
现在 pic.tpye=6  是msoGroup了  ActiveSheet.Shapes(Selection.Name).SaveAsPicture "D:\\桌面\" + Sele ...

我这里是WPS测试没问题,可以保存下来,估计跟excel有些兼容性问题,没装excel不好测试,思路就是生成的线条进行组合,再将组合另存为图片

TA的精华主题

TA的得分主题

发表于 2024-12-10 09:23 | 显示全部楼层
林程乐 发表于 2024-12-9 22:00
您好,卡在这一句ActiveSheet.Shapes(Selection.Name).SaveAsPicture "D:\\桌面\" + Selection.Name + ". ...

思路就是生成的线条进行组合,再将组合另存为图片,你看我的代码里新加了个arr字典,就是储存线条name的

TA的精华主题

TA的得分主题

发表于 2024-12-10 09:31 | 显示全部楼层
林程乐 发表于 2024-12-9 22:36
朋友。您果厉害把你的代码后面加几句
居然完美生成图片了

这个是复制为图片吧,这样也可以的

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-12-10 15:43 | 显示全部楼层
改好了。安照高手liu0wei2008的思路加入了字典收集线条。后复制成图片。失去了X.Y坐标。用选择单元格来实现批量生成。等下上传附件。各位看看有什么要改进的地方,耗时一天半。本人vba只学了一点点。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-12-10 15:45 | 显示全部楼层
附件,给大家分享,看看有什么要改进。

code-128和code-39---2.zip

37.49 KB, 下载次数: 28

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-12-10 15:53 | 显示全部楼层
liu0wei2008 发表于 2024-12-9 15:02
循环什么的你来加吧,路径自己改下,代码放到CurBar = 0这句后面,这是Code128的

高手朋友,多谢您的加入字典思路,改好了,附件在17楼

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-12-10 16:04 | 显示全部楼层
wcj6376tcp 发表于 2024-12-9 19:19
现在 pic.tpye=6  是msoGroup了  ActiveSheet.Shapes(Selection.Name).SaveAsPicture "D:\\桌面\" + Sele ...

多谢参与,安照上一高手思路,能收集线条复制成图片,附件已经上传。

TA的精华主题

TA的得分主题

发表于 2024-12-10 16:05 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
林程乐 发表于 2024-12-10 15:53
高手朋友,多谢您的加入字典思路,改好了,附件在17楼

怪了,你的那句存图片的我这里跑不通
最后那段改成这样你试试可以不
  1. Set grp = ActiveSheet.Shapes.Range(d.items).Group
  2. grp.CopyPicture Appearance:=xlScreen, Format:=xlBitmap
  3. ActiveSheet.Paste
  4. With Selection
  5.     ActiveSheet.Shapes(.Name).SaveAsPicture ThisWorkbook.Path & "" + Selection.Name + ".png"
  6.     .Delete
  7. End With
  8. grp.Delete
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-25 16:16 , Processed in 0.033630 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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