ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 用VBA语句打印工作表

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-9-5 11:38 | 显示全部楼层 |阅读模式
有如下几个要求:
1、A3竖向
2、双面
3、黑白打印
4、所有列打印在一页

尝试着用宏录了几次,以下是语句

有三个问题哦:
1、怎样打印整个工作簿?
2、怎么控制所有工作表的打印区域?
3、怎么调整打印出来每张表都符合上面4个要求?

我自己尝试打印了活动工作表,做了备注
Sub 宏5()
'
' 宏5 宏
'

'
    ActiveWindow.SmallScroll Down:=-9
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup         '打印
        .PrintTitleRows = ""
        .PrintTitleColumns = ""
    End With
    Application.PrintCommunication = True
    ActiveSheet.PageSetup.PrintArea = "$A$1:$E$16"  '打印顶端行标题
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0.707638888888889)
        .RightMargin = Application.InchesToPoints(0.707638888888889)
        .TopMargin = Application.InchesToPoints(0.747916666666667)
        .BottomMargin = Application.InchesToPoints(0.747916666666667)
        .HeaderMargin = Application.InchesToPoints(0.313888888888889)
        .FooterMargin = Application.InchesToPoints(0.313888888888889)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .PrintQuality = 600
        .CenterHorizontally = True
        .CenterVertically = False
        .Orientation = xlPortrait
        .Draft = False
        .PaperSize = xlPaperA3   '使用A3打印纸
        .FirstPageNumber = xlAutomatic   
        .Order = xlDownThenOver
        .BlackAndWhite = False       '黑白打印??
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = False
        .PrintErrors = xlPrintErrorsDisplayed
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .ScaleWithDocHeaderFooter = True
        .AlignMarginsHeaderFooter = False
        .EvenPage.LeftHeader.Text = ""
        .EvenPage.CenterHeader.Text = ""
        .EvenPage.RightHeader.Text = ""
        .EvenPage.LeftFooter.Text = ""
        .EvenPage.CenterFooter.Text = ""
        .EvenPage.RightFooter.Text = ""
        .FirstPage.LeftHeader.Text = ""
        .FirstPage.CenterHeader.Text = ""
        .FirstPage.RightHeader.Text = ""
        .FirstPage.LeftFooter.Text = ""
        .FirstPage.CenterFooter.Text = ""
        .FirstPage.RightFooter.Text = ""
    End With
    Application.PrintCommunication = True
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    Sheets("财务管理部 ").Select
End Sub





TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-5 11:49 | 显示全部楼层
Sub 宏8()
'
' 宏8 宏
'

'
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
End Sub
Sub 宏9()
'
' 宏9 宏
'

'
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
End Sub

8/9分别是双面和单面,这个在语句里没有体现

TA的精华主题

TA的得分主题

发表于 2018-9-5 13:15 | 显示全部楼层
把每个工作表的打印区域设置好,然后循环打印每个工作表即可。上传附件,我给你看看
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-13 13:51 , Processed in 0.016711 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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