分享

Excel打印完成自动汇总 VB.NET封装打印机状态给VBA调用

 郑广学老师 2023-05-10 发布于湖北

提出需求:

收到一个客户提出的需求,要求在打印之后根据是否打印成功将数据复制到汇总表中。因为有几十张表,每次打印完成后再去手动复制非常繁琐,容易发生遗漏现象。只能要求我们帮忙写一个vba, 让系统自动完成这个任务。我们仔细查找了vba 所有的事件,vba不提供打印完成后的事件,只有打印前的事件。这样问题就来了,我们需要另外用代码来获取当前打印机的状态,但是我们花了整整一天查找了很多资料,ChatGPT都询问了,还测试了非常多的代码,发现不是状态获取不正确,就是无法运行。最终只能使用vb.net 才能获取到打印机的状态,客户没有管理员权限,最终只能拿出我的秘密武器了,使用vb.net免注册封装DLL,封装到excel里运行,最终客户非常满意,1000元成交了。

本案例知识点:

Com 类封装为免注册的Excel 文件运行
在打印前事件中写入定时运行程序

原始数据如下:

原始数据如下:


由于本文图片尺寸较大 请大家尽量收藏转发后 到电脑端大屏查看学习,效果更佳!
功能实现

1. Vb.net 获取打印机状态的代码

2. 通过郑广学老师提供的功能强大,俗称“小黑瓶”来封装代码

3. 封装完成了,非常简单

4. 现在我们就可以在vba中调用了

5. 接下来我们就在打印事件中使用 定时执行程序,这个在VBA175例实战教程里都有详细解说

6. 最后写上相关业务代码就完成啦

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多