ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] excel双面打印问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-9-25 12:18 | 显示全部楼层 |阅读模式


打印机为FUJI XEROX ApeosPort-VII C3373,可以双面打印,打印机里边也设置了默认为“双面打印,长边装订”,但使用代码打印excel成果表时,有时是双面的,有时是单面的。解决问题的关键,我感觉应该如图2所示,但不知道怎么用vba代码修改。这个问题一直解决不了,不知道哪位大神遇到过,解决了。


补充内容 (2024-10-12 11:47):
已解决

打印机设置

打印机设置

成果表按打印预览界面

成果表按打印预览界面

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-25 14:09 | 显示全部楼层
本帖最后由 lchhuo 于 2024-9-25 14:11 编辑

是不是大家平常不大用这个功能,所以没遇到过。
我现在处理的办法是:我发现word和pdf使用代码打印,只要打印机设置为双面打印,那么就可以实现使用代码双面打印,所以我现在的处理方法是,将excel文件生成pdf文件,再使用shell函数打印pdf文件,但存在一个小的问题,那就是pdf文件根据不同的大小,发送的快慢有所不同,导致有时会漏掉一些文件不打印。比如我批量打印文件,每个文件打印四份,有些文件打印第一份的时候缺失了、未打印。因为这个问题,我在打印一个pdf之后,使用wait函数让代码等待3-5秒,但还是会出现漏打印文件的问题。想着excle成果表打印发送的速度是很快的,应该不会出现漏打印的情况,但有时双面打印、有时单面打印的问题,查了好久,一直解决不了。

TA的精华主题

TA的得分主题

发表于 2024-9-25 14:36 | 显示全部楼层
AI提供的,没测试,仅供参考。。。
  1. Sub SetDuplexPrinting()
  2.     Dim ws As Worksheet
  3.     Dim prnSettings As Printer
  4.    
  5.     ' 设置工作表
  6.     Set ws = ThisWorkbook.Sheets("Sheet1") ' 根据你的工作表名称修改
  7.    
  8.     ' 检查打印机是否支持双面打印
  9.     On Error Resume Next ' 忽略错误继续执行
  10.     Set prnSettings = ws.Printer
  11.     On Error GoTo 0 ' 重置错误处理
  12.    
  13.     ' 确保打印机设置是双面打印
  14.     With prnSettings
  15.         .Duplex = wdDuplexDuplex
  16.         .Binding = wdBindingLeft
  17.         .PrintQuality = wdPrintQualityHigh
  18.         .Print
  19.     End With
  20.    
  21.     ' 更新工作表的打印机设置
  22.     ws.PrintCommunication = True
  23.     ws.PrinterSettings = prnSettings
  24.     ws.PrintCommunication = False
  25. End Sub

复制代码




TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-25 15:16 | 显示全部楼层
非常感谢,但工作表没有这个属性Printer,这个属性是application的,Application.ActivePrinter '获取当前默认打印机

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-26 08:21 | 显示全部楼层
在下面这个网址找到一个思路
https://cloud.tencent.com/developer/ask/sof/105148266
代码看的比较吃力,看不太懂,但给我了一个思路,如下图
image.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-26 09:40 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 lchhuo 于 2024-9-26 09:41 编辑

代码按这个思路已修改,就是将当前默认打印机先设置为其它打印机,然后再设置回来,迫使Excel采用新的设置。如果只有一个打印机,我感觉设置成空,或者设置成虚拟打印机都可以,使用几天,看看效果,到时候反馈

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-12 11:44 | 显示全部楼层
经过多天的使用,方法是正确的,问题已解决。

TA的精华主题

TA的得分主题

发表于 2024-10-13 20:17 | 显示全部楼层
lchhuo 发表于 2024-9-26 09:40
代码按这个思路已修改,就是将当前默认打印机先设置为其它打印机,然后再设置回来,迫使Excel采用新的设置 ...

可以调用打印机,选择一次即可。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-14 11:43 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
是设置这个参数吗?
1728877286356.jpg
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-1 10:32 , Processed in 0.032840 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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