设置打印页面
With Sheets(1).PageSetup
.Orientation=xlPortrait
.Orientation=xlLandscape
.Zoom=False/n
.FitToPagesWide=1
.FitToPagesTall=1
.PaperSize=xlPaperA4
End With
设置页边距
With Sheets(1).PageSetup
.LeftMargin=n/Application.InchesToPoints(n)/Application.CentimetersToPoints(n)
.RightMargin=n/Application.InchesToPoints(n)/Application.CentimetersToPoints(n)
.TopMargin=n/Application.InchesToPoints(n)/Application.CentimetersToPoints(n)
.BottomMargin=n/Application.InchesToPoints(n)/Application.CentimetersToPoints(n)
.HeaderMargin=n/Application.InchesToPoints(n)/Application.CentimetersToPoints(n)
.FooterMargin=n/Application.InchesToPoints(n)/Application.CentimetersToPoints(n)
.CenterHorizontally=True
.CenterVertically=True
End With
设置页眉页脚
With Sheets(1).PageSetup
.LeftHeader="***"
.CenterHeader="***"
.RightHeader="***"
.LeftFooter="***"
.CenterFooter="***"
.RightFooter="***"
End With
设置工作表
With Sheets(1).PageSetup
.PageSetup.PrintArea="A1:B1"
.PageSetup.PrintArea=""
.PageSetup.PrintTitleRows=Sheets(1).Rows(1).Address
.PageSetup.PrintTitleColumns =Sheets(1).Columns("A").Address
.PageSetup.PrintTitleRows=""
.PageSetup.PrintTitleColumns=""
.PrintHeadings=True/False
.PrintGridlines=True/False
End With
打印预览
Sheets(1).PrintPreview enablechanges:=False
Sheets(1).PrintPreview
打印
Sheets(1).PrintOut from:=1, to:=10, copies:=3, preview:=False
打印总页数
(Sheets(1).VPageBreaks.Count + 1) * (Sheets(1).HPageBreaks.Count + 1)
ExecuteExcel4Macro("Get.Document(50)")
当前打印机名称 Application.ActivePrinter
指定打印机名称 Application.ActivePrinter ="名称"
分页预览窗口
ActiveWindow.View=xlPageBreakPreview
ActiveWindow.View=xlNormalView
Shape对象
Sheets(1).Shapes(1).ControlFormat.PrintObject=False
Sheets(1).Shapes(1).ControlFormat.PrintObject=True
--本人近几天刚因为统一制表格式, 打统一导表, 统一打印的事做了一个脚本
Sub Template()
'定义一个可变的量,用来修改底稿编号及仓库信息
DGBH = "0430CK004"
CKMC = "电子料仓--XXX"
'功能:
'1. 表的格式定义
'2. 打印设置的定义
'----------表的格式定义----------
'--设置列宽
ActiveSheet.Range("A:A").ColumnWidth = 5 'A
ActiveSheet.Range("B:B").ColumnWidth = 12 'B
ActiveSheet.Range("C:C").ColumnWidth = 15 'C
ActiveSheet.Range("D:D").ColumnWidth = 22 'D
ActiveSheet.Range("E:E").ColumnWidth = 4.29 'E
ActiveSheet.Range("F:F").ColumnWidth = 7.71 'F
ActiveSheet.Range("G:G").ColumnWidth = 12 'G
ActiveSheet.Range("H:H").ColumnWidth = 12 'H
ActiveSheet.Range("I:I").ColumnWidth = 5.43 'I
'--自动换行属性
ActiveSheet.Range("A:I").WrapText = True '设置为自动换行
'--G,H列居中对齐
With ActiveSheet.Range("G:H")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
End With
'--标题行设置字体和对齐方式
With ActiveSheet.Range("1:1")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Font.Name = "宋体"
.Font.Size = 9
.Font.Bold = True
End With
'--设置边框
ActiveSheet.UsedRange.Select
Selection.Borders.LineStyle = xlContinuous
'----------打印设置的定义---------
'--设置打印属性
With ActiveSheet.PageSetup
.LeftMargin = 15 '左边距 这默认的单位是dot, 15换算成常用单位是 0.5厘米
.RightMargin = 15 '右边距
.TopMargin = 15 '上边距
.BottomMargin = 40 '下边距
.HeaderMargin = 0 '页眉
.FooterMargin = 0 '页脚
.CenterHorizontally = True '是否垂直居中,'打印页面是否水平居中
.Orientation = 1 '设置打印方向:1为纵向打印,2为横向打印
.PaperSize = 9 '设置打印纸的类型,例如A3为8,A4为9
'--页脚
.RightFooter = "抽盘人:___________ " & Chr(13) & "第 &P 页 / 共 &N 页"
.LeftFooter = "初盘人:_______________" & Chr(13) & "仓库名: " & CKMC
.CenterFooter = "复盘人:____________" & Chr(13) & "底稿编号: " & DGBH
.PrintTitleRows = ActiveSheet.Rows("$1:$1").Address
End With
ActiveSheet.Name = CKMC
End Sub
'--效果图