For Each s As Row In Tables(bm5).GetCheckedRows
报表名称=s("出入库单") & "出入库单"
File_name=报表目录 & 报表名称 & ".xls"
If FileSys.FileExists(File_Name)=False Then Continue For
Wb = App.WorkBooks.Open(File_Name)
ws= Wb.WorkSheets("出入库单")
With Ws.PageSetup
'设置打印区域
' .PrintArea = ws.UsedRange ' "A1:H10" '打印工作表的指定区域
.PrintArea = Ws.UsedRange.Address '打印工作表的使用区域
' .PrintTitleColumns = Ws.Columns("A:H").Address '打印列标题(在每一页的左边重复出现)
' .PrintTitleRows = Ws.Rows(1).Address '打印行标题(在每一页的顶部重复出现)
'设置页面
.PaperSize = MSExcel.XlPaperSize.xlPaperA5 '纸张大小
.LeftMargin = 10 '页面左边距
' .RightMargin = 1'页面右边距
.TopMargin = 20 '页面顶部边距
' .BottomMargin = 1 '页面底部边距
' .HeaderMargin = 10 '页面顶端到页眉的距离
' .FooterMargin = 10 '页脚到页面底端的距离
' .CenterHorizontally = True '页面水平居中
' .CenterVertically = True '页面垂直居中
'设置页眉
' .LeftHeader = "打印日期: &D" '左页眉,&D表示日期
' .CenterHeader = "&""隶书,常规""&20 数据分析表" '中页眉,并将字体设置为隶书和20号字大小
' .RightHeader = "打印者: " & App.UserName '右页眉
'设置页脚
' .LeftFooter = "文件: &F &A" '左页脚,&F表示文件名,&A表示工作表名
' .CenterFooter = "" '中页脚为空
' .RightFooter = "第 &P 页 共 &N 页" '右页脚
'打印模式
.Orientation = MSExcel.xlPageOrientation.xlPortrait '纵向打印
' .Orientation = MSExcel.xlPageOrientation.xlLandscape '横向打印
' .PrintHeadings = True'打印行号和列标
' .PrintGridlines = True '打印网格线
'缩放打印
.Zoom = False '以下设置将缩印在一页内
' .FitToPagesWide = 1.5 '按照1页的宽度打印
' .FitToPagesTall = 1 '按照1页的高度打印
End With
' Ws.Rows(16).PageBreak = MSExcel.XlPageBreak.xlPageBreakManual
App.Visible = True
' Ws.PrintPreview
Ws.PrintOut
wb.save
wb.close
App.Quit
Next
代码如上,之前已经形成了若干个Excel文件,每一个Excel文件为独立的一张入(出)库单,需要实现连续打印的功能.
按照上述参数设置是可以连续打印的,但是打印的内容过小;缩放打印那里.FitToPagesWide = 1.5时,没有任何反映,打出来的内容很小;.FitToPagesWide = 2设置2时,就超界了打出的内容大小是合适的,但是变为两张了,超宽了!
怎么设置这些参数?谢谢老师!