ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 请帮忙改一点代码,把带相片的准考证中按钮保留下来,谢谢!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-1-3 15:53 | 显示全部楼层 |阅读模式
各位专家网友好!
我现在被要求制作一页A4两个准考证,带相片和公章。

附件是我自己学习后东拼西揍
问题:
【1】现在的VBA能实现每次生成一张两个证的PDF文件,但一点  批量打印  就会把按钮删除了,如何才能把这个按钮保留下来下次还可以用。
【2】把所有的准考证都生成在同一个PDF文件,而不是现在的一个文件只能生成两张?

准考证制作-求助.zip

174.2 KB, 下载次数: 18

TA的精华主题

TA的得分主题

发表于 2023-1-3 16:14 | 显示全部楼层
问题1:
文件→选项→自定义功能区→从下列位置选择命令
然后选择"宏"
选择一个组,没有就新建一个组
点击添加
然后你就会发现上面永远会有那个宏的按钮。无论你打开那个EXCEL。

TA的精华主题

TA的得分主题

发表于 2023-1-3 16:14 | 显示全部楼层
ActiveSheet.DrawingObjects.Delete的问题  利用DrawingObjects的name属性改了一下 你有更好的方法可以试试  现在代码是按照一页两个准考证排版的 如果有一百个学生你一页也放不下啊

准考证制作.rar

572.88 KB, 下载次数: 14

TA的精华主题

TA的得分主题

发表于 2023-1-3 16:22 | 显示全部楼层
本帖最后由 125675117 于 2023-1-3 16:23 编辑

第1个问题,PDF生成后,可以用PDF软件合并成一个文件来打印
第2个问题,请见附件。

准考证制作-求助.rar

171.07 KB, 下载次数: 11

TA的精华主题

TA的得分主题

发表于 2023-1-3 16:23 | 显示全部楼层
问题1:
逻辑:
遍历所有图形,然后不删除“Button 1”

这一行代码:ActiveSheet.DrawingObjects.Delete
改为:
    For Each myShape In ActiveSheet.Shapes
        If myShape.Name <> "Button 1" Then
            myShape.Delete
        End If
    Next

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-1-3 16:23 | 显示全部楼层
MyLaLaLand 发表于 2023-1-3 16:14
ActiveSheet.DrawingObjects.Delete的问题  利用DrawingObjects的name属性改了一下 你有更好的方法可以试试 ...

谢谢!就是想每两个学生的准考证打印在一张A4纸,不是要求把所有的学生准考证都打印在同张纸。只是想把后面的学生的也加入到同一个pdf文件,方便打印,不想就只能是先每两个一张做成一个文件,再用PDF阅读软件合成一下了。

TA的精华主题

TA的得分主题

发表于 2023-1-3 16:24 | 显示全部楼层
问题1:
把代码:ActiveSheet.DrawingObjects.Delete
改为:
    For Each myShape In ActiveSheet.Shapes
        If myShape.Name <> "Button 1" Then
            myShape.Delete
        End If
    Next

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-1-3 16:24 | 显示全部楼层
supermouse24 发表于 2023-1-3 16:14
问题1:
文件→选项→自定义功能区→从下列位置选择命令
然后选择"宏"

谢谢,我试一下

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-1-3 16:30 | 显示全部楼层
MyLaLaLand 发表于 2023-1-3 16:14
ActiveSheet.DrawingObjects.Delete的问题  利用DrawingObjects的name属性改了一下 你有更好的方法可以试试 ...

谢谢!您那神来之笔,一下就帮我解决了大烦恼。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-1-3 16:34 | 显示全部楼层
125675117 发表于 2023-1-3 16:22
第1个问题,PDF生成后,可以用PDF软件合并成一个文件来打印
第2个问题,请见附件。

谢谢!您的代码是它要删除就让它删除吧,我最后再加按钮生成回来就是了,也很好解决了问题。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-19 22:49 , Processed in 0.037240 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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