ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[讨论] 求教:电子表格怎样设奇数、偶数页打印?[求助]

[复制链接]

TA的精华主题

TA的得分主题

发表于 2003-7-4 23:09 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请大家关注。

TA的精华主题

TA的得分主题

发表于 2003-9-30 19:32 | 显示全部楼层
以下是引用nb330106在2003-9-28 20:48:00的发言:
复制,粘贴到word去打吧!

最简单的就是最好的,还是充分利用office集成的优势吧!

TA的精华主题

TA的得分主题

发表于 2003-9-28 13:59 | 显示全部楼层
Sub DoPrint()
    '定义需要打印的工作表
    Dim PrintSheet As Worksheet
    '确定每页行数
    Dim iEveryPageRows As Integer
    '确定尾行与首行之间的差值
    Dim RowDiff As Integer
    Dim i As Integer
    '定义打印区域字符串变量
    Dim strAreaAddress As String
   
    Set PrintSheet = Worksheets(1)
   
    If PrintSheet.HPageBreaks.Count = 0 Then
        MsgBox "该文档不需分页打印或没有可以打印的内容"
        Exit Sub
    End If
   
    iEveryPageRows = Range(PrintSheet.HPageBreaks(1).Location.Address).Row - 1
    RowDiff = iEveryPageRows - 1
   
     MsgBox "现在打印奇数页,请将纸张准备好!"
   
    '指定奇数页打印区域
    For i = 1 To PrintSheet.HPageBreaks.Count Step 2
        strAreaAddress = CStr(i * iEveryPageRows - RowDiff) & ":" & CStr(i * iEveryPageRows)
        
        With PrintSheet.PageSetup
            .PrintArea = strAreaAddress
            .RightFooter = CStr(i)
        End With
        
        MsgBox "现在正在打印第" & i & "页"
        
        PrintSheet.PrintOut
'        Debug.Print PrintSheet.PageSetup.PrintArea
    Next i
   
    MsgBox "现在打印偶数页,请将纸张准备好!"
    PrintSheet.PageSetup.PrintArea = ""
   
    '指定偶数页打印区域
    For i = 2 To PrintSheet.HPageBreaks.Count + 1 Step 2
         strAreaAddress = CStr(i * iEveryPageRows - RowDiff) & ":" & CStr(i * iEveryPageRows)
        
        With PrintSheet.PageSetup
            .PrintArea = strAreaAddress
            .RightFooter = CStr(i)
        End With
        
        MsgBox "现在正在打印第" & i & "页"
        
        PrintSheet.PrintOut
'        Debug.Print PrintSheet.PageSetup.PrintArea
    Next i
   
    With PrintSheet.PageSetup
        .PrintArea = ""
        .RightFooter = ""
    End With
   
End Sub

我没有打印机,无法进行测试,哪位仁兄试试看有什么问题
程序也不是很好,因为没有考虑vPageBreaks分页符,同时也只能适用于行间距相等的工作表

TA的精华主题

TA的得分主题

发表于 2009-11-4 14:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

奇偶页打印和Excel文件设置无关

奇偶页打印和Excel文件设置无关,在打印设置里面。点击“文件——页面设置”,打开“页面设置”对话框;在“页面”选项卡中,单击“选项”按钮,打开打印机属性对话框,在“完成”选项卡中选择“双面打印”,完成页面设置。
在“文件——打印...”菜单中也可以完成设置。

TA的精华主题

TA的得分主题

发表于 2010-7-20 09:36 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

哈哈哈,PDF

先转成PDF……省略5百字

TA的精华主题

TA的得分主题

发表于 2010-10-24 22:59 | 显示全部楼层
原帖由 xtiq911 于 2010-7-20 09:36 发表
先转成PDF……省略5百字

转成PDF是一个不错主意,

TA的精华主题

TA的得分主题

发表于 2010-11-25 16:14 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-9-2 09:24 | 显示全部楼层
在百度上搜的——
启动Excel程序或打开一个Excel文件
单击菜单工具->宏->录制新宏
在弹出的录制新宏对话框中设定新的宏名“手动双面打印”
将宏保存在“个人宏工作簙”中
单击确定后,按停止录制宏按钮
按“Alt+F11”进入Microsoft Visual Basic编辑器。在编辑器中的VBAProject(PERSONAL.XLS)中找到模块1并双击,然后在右侧的窗口中输入如下代码(两条虚线之间的VB代码):
-------------------------------------
Sub 手动双面打印()
   Dim Pages As Long
   Dim myBottonNum As Integer
   Dim myPrompt1 As String
   Dim myPrompt2 As String
   myPrompt1 = "在打印时发生错误,请检查你的打印机设置"
   myPrompt2 = "请将出纸器中已打印好一面的纸取出并将其放回到送纸器中,然后按下""确定"",继续打印"
   Pages = ExecuteExcel4Macro("Get.Document(50)")     '统计总页数
   
   On Error Resume Next
   
   If (Pages = 0) Then '如果为零,说明没有可打印内容,退出程序
MsgBox "Microsoft Excel 未发现任何可以打印的内容", 0 + 48
   Exit Sub
   End If
   
   If (Pages = 1) Then '判断是否只有一页,如果是,只打印第一页,然后退出
ActiveSheet.PrintOut
If Err.Number = 1004 Then
   MsgBox myPrompt1, 0 + 48 '提示用户发生打印错误
End If
Exit Sub
   End If
   
   For i = 1 To Pages Step 2             '设置循环,打印奇数页
ActiveSheet.PrintOut From:=i, To:=i
If Err.Number = 1004 Then
     MsgBox myPrompt1, 0 + 48
     Exit Sub
End If
   Next i
   
   myBottonNum = MsgBox(myPrompt2, 1 + 48) '提示用户取出纸张,确认后继续打印
   
   If (myBottonNum = 1) Then
For j = 2 To Pages Step 2             '打印偶数页
ActiveSheet.PrintOut From:=j, To:=j
Next j
   End If
End Sub
---------------------------------------

按Alt+Q返回到工作表窗口,单击菜单“工具”→“自定义”,在弹出的自定义对话框中选择“命令”选项卡,在命令选项卡中选择“宏”→“自定义按钮”。
拖动自定义按钮到菜单栏或工具栏上,右击刚刚拖到菜单栏或工具栏上自定义按钮然后再“命名”后面输入“双面打印”(注意此时不要关闭自定义对话框),然后关闭自定义对话框。
单击按钮,在弹出的“指定宏”对话框中选择我们刚才创建的宏。
到此,命令基本添加完毕!
关闭并保存工作簿
打开Execl工作簙,单击刚创建的宏按钮,程序就会自动先打印所有奇数页,然后提示取出纸张,确认后再打印所有偶数页,基本类似于Word的手动双面打印。

TA的精华主题

TA的得分主题

发表于 2014-4-24 09:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
taozhj 发表于 2011-9-2 09:24
在百度上搜的——
启动Excel程序或打开一个Excel文件
单击菜单工具->宏->录制新宏

曲线救国,学以至用,这个方法也不错
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-5-10 08:55 , Processed in 0.037051 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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