ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 单元格输出当前页码和总页码,并支持多页自动打印

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-3-31 16:14 | 显示全部楼层 |阅读模式
本帖最后由 jave000 于 2023-3-31 16:16 编辑

抄自两个帖子,代码源自zjdh准提部林两位侠圣,包含了多页打印和单元格内输出页码,拼凑后可以运行但有新的问题:
https://club.excelhome.net/thread-1615118-1-1.html
https://club.excelhome.net/thread-651822-4-1.html

因为都用来打印PDF,所以不考虑双面打印的问题。因为封面都是一页,所以默认都是P+1。
正文含有中文英文两处单元格,封面也有两处。所以总共要输出八个单元格的内容。此处我不会简化,但运行没问题。
测试发现如果删除from:=I to:=I,第几页就不会刷新,全都是1,且总共P+1页内容会打印P+1份,每份都是P+1页。
如果保留from:=I to:=I,第几页共几页都没问题,但P+1页会强制拆分打印成P+1份单1页PDF。
主要求助如何解决强制拆分打印成P+1份单1页PDF的问题。


Sub DesignPrint()
    P = ExecuteExcel4Macro("Get.Document(50)")
    Sheet1.Range("H3") = P+1
    Sheet1.Range("J3") = P+1
    Sheet2.Range("L5") = P+1
    Sheet2.Range("N5") = P+1
    For I = 1 To P+1
        Sheet1.Range("I3") = I
        Sheet1.Range("K3") = I
        Sheet2.Range("M5") = I
        Sheet2.Range("O5") = I
           Sheets(Array(Sheet1.Name, Sheet2.Name)).Printout From:=I,to:=I
           ActiveSheet.Select
    Next
End Sub

TA的精华主题

TA的得分主题

发表于 2023-3-31 16:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
复杂了,我不懂

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-6 11:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
抄来一段解释



Range.PrintOut 方法
打印对象。
语法

表达式.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName)

表达式   一个代表 Range 对象的变量。

参数

名称 必选/可选 数据类型 描述
From 可选 Variant 打印的开始页号。如果省略此参数,则从起始位置开始打印。  
To 可选 Variant 打印的终止页号。如果省略此参数,则打印至最后一页。
Copies 可选 Variant 打印份数。如果省略此参数,则只打印一份。
Preview 可选 Variant 如果为 True,Microsoft Excel 将在打印对象之前调用打印预览。如果为 False(或省略该参数),则立即打印对象。
ActivePrinter 可选 Variant 设置活动打印机的名称。
PrintToFile 可选 Variant 如果为 True,则打印到文件。如果没有指定 PrToFileName,Microsoft Excel 将提示用户输入要使用的输出文件的文件名。  
Collate 可选 Variant 如果为 True,则逐份打印多个副本。
PrToFileName 可选 Variant 如果 PrintToFile 设为 True,则该参数指定要打印到的文件名。

返回值
Variant

说明


From 和 To 所描述的“页”指的是要打印的页,并非指定工作表或工作簿中的全部页。

TA的精华主题

TA的得分主题

发表于 2023-4-6 12:22 | 显示全部楼层
問了半世紀, 還是沒解決???
不要只來代碼讓人猜, 至少上傳檔案, 並詳細說明~~

是不是???
兩張或更多工作表一起打印, 產生一個pdf檔, 並標示"第?頁/共?頁",
總頁數是合部加起來的, 頁次依次累君???

那之前同時選取多張工作表打印, 不是可以嗎???

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-6 14:06 | 显示全部楼层
准提部林 发表于 2023-4-6 12:22
問了半世紀, 還是沒解決???
不要只來代碼讓人猜, 至少上傳檔案, 並詳細說明~~

之前的多选打印完美实现了。
只是后来又找单元格输出页码,放置到重复表头上打印,找到代码也能用了。
然后想合二为一,目前基本实现了,只是from i to i会引发每一页都生成一份PDF,新的困扰。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-9-29 14:32 , Processed in 0.035538 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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