ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 奇偶页打印已实现,就是打印机不是连续打印,烦

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-1-27 00:25 | 显示全部楼层 |阅读模式
以下代码已成功实现在excel中奇偶页打印,可是每打一页就复位一下打印第二页,复位的意思就是假如我要打10份,我要点10次当前页打印的那种感觉,要的是点一下,全部打印出来的感觉。意思应该你懂得!每次打印复位的话太耗时了,能否实现这么多页连贯性打印。
Sub 奇偶页打印() '实现奇偶页打印
Dim pageTotal As Integer
Dim jPage As Integer
Dim OK


Worksheets("量化表").Activate
With Sheets("量化表")
    pageTotal = Application.ExecuteExcel4Macro("get.document(50)") - 2      '减2代表模板页不要打印

    For jPage = pageTotal - IIf(pageTotal Mod 2 = 0, 1, 0) To 1 Step -2
    ActiveSheet.PrintOut from:=jPage, To:=jPage
    Next

    OK = MsgBox("请把纸张装入打印机,打印偶数页", vbOKCancel, "双面打印")

    If OK = vbOK Then
    For jPage = 2 To pageTotal Step 2
    ActiveSheet.PrintOut from:=jPage, To:=jPage
    Next
    End If
End With
End Sub



补充内容 (2018-2-1 13:40):
如果不懂我说的意思的话,我发出图给你们看,在4楼

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-2-26 12:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
顶上去,继续问

TA的精华主题

TA的得分主题

发表于 2018-1-27 14:47 | 显示全部楼层
使用PdfFactory软件,并设置该软件生成的虚拟打印机为默认打印机。这样,在打印时,将得到一个Pdf文档,在保存之前,还可以任意删除其中的页面(比如有空白页的时候),再利用Pdf阅读器查看、双面打印。
这种方式,可以避免页面设置不正确时造成的纸张和墨粉(墨水)浪费,同时可以保持打印机工作的连续性,关键是当需要打印多份时,可以逐份打印,不必在打印之后再分拣、排序了。

TA的精华主题

TA的得分主题

发表于 2018-1-27 14:58 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-2-1 13:42 | 显示全部楼层
本帖最后由 lhj1861 于 2018-2-1 13:46 编辑

C:\Documents and Settings\Administrator\桌面\excel多张单据做在同一个工作表里.bmpC:\Documents and Settings\Administrator\桌面\word里打印5页在一个打印任务.bmp同样是打印5个单据,word里打印五个单据只有一个打印任务,而excel里5个单据做在同一个工作表里,点击自己设计的打印按钮,会有5个打印任务,,我想实现在excel里5个单据都在集中在一个打印任务打印,以上代码如何修改,或者有没可替代的代码?
excel多张单据做在同一个工作表里.jpg
word里打印5页在一个打印任务.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-2-21 21:43 | 显示全部楼层
有老师会吗?网上我搜遍只是实现excel奇偶页打印,但是都是多个页面以多个打印任务打印的,不能多个页面在一个打印任务打印?

TA的精华主题

TA的得分主题

发表于 2018-2-26 13:46 | 显示全部楼层
lhj1861 发表于 2018-2-21 21:43
有老师会吗?网上我搜遍只是实现excel奇偶页打印,但是都是多个页面以多个打印任务打印的,不能多个页面在 ...

试试这个: Excel奇偶页打印.rar (71.05 KB, 下载次数: 59)

TA的精华主题

TA的得分主题

发表于 2018-2-26 13:51 | 显示全部楼层
在原代码上加个外循环控制打印份数(通过Inputboxl输入要打印的份数,作为外循环变量)

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-2-28 18:59 | 显示全部楼层
aman1516 发表于 2018-2-26 13:51
在原代码上加个外循环控制打印份数(通过Inputboxl输入要打印的份数,作为外循环变量)

你那个插件,我用了,还是跟我代码功能一样,奇数页打印时不能合在一个打印任务里完成。另外只打印一份,不需要加打印份数呢。比如有10页,奇数5页(5页合在一个打印任务,不要5个分成5个单页打印任务),偶数5页,打印一份就行。

TA的精华主题

TA的得分主题

发表于 2018-2-28 19:51 | 显示全部楼层
lhj1861 发表于 2018-2-28 18:59
你那个插件,我用了,还是跟我代码功能一样,奇数页打印时不能合在一个打印任务里完成。另外只打印一份, ...

你原来的代码加个循环:

  1. Sub 奇偶页打印() '实现奇偶页打印
  2. Dim pageTotal As Integer
  3. Dim jPage As Integer
  4. Dim f As Integer, k, OK
  5. f = InputBox("请输入要打印的份数,默认为1份", "多份打印", "1")
  6. If f = "" Then Exit Sub
  7. Worksheets("量化表").Activate
  8. With Sheets("量化表")
  9. For k = 1 To f
  10.     pageTotal = Application.ExecuteExcel4Macro("get.document(50)") - 2      '减2代表模板页不要打印
  11.     For jPage = pageTotal - IIf(pageTotal Mod 2 = 0, 1, 0) To 1 Step -2
  12.         ActiveSheet.PrintOut from:=jPage, To:=jPage
  13.     Next
  14. Next    '一次打印完N份的奇数页,'再打印N份的偶数页
  15. OK = MsgBox("请把纸张装入打印机,打印偶数页", vbOKCancel, "双面打印")
  16. For k = 1 To f
  17.     If OK = vbOK Then
  18.        For jPage = 2 To pageTotal Step 2
  19.            ActiveSheet.PrintOut from:=jPage, To:=jPage
  20.        Next
  21.     End If
  22. Next
  23. End With
  24. End Sub
复制代码


请测试
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-20 03:56 , Processed in 0.047464 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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