以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- EXCEL使用 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=184816) |
-- 作者:kaituozhe -- 发布时间:2023/1/6 7:33:00 -- EXCEL使用 msgbox(1) Dim App As New MSExcel.Application msgbox(1) Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("E:\\司法鉴定\\九鼎担保\\数据来源汇总\\2009年合同明细.xls") \'Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) msgbox(2) For Each Ws As MSExcel.WorkSheet In Wb.WorkSheets \'msgbox(Ws.Name) With Ws.PageSetup \'设置打印区域 \'.PrintArea = "A1:H10" \'打印工作表的指定区域 .PrintArea = Ws.UsedRange.Address \'打印工作表的使用区域 \'.PrintTitleColumns = Ws.Columns("A:H").Address \'打印列标题(在每一页的左边重复出现) \'.PrintTitleRows = Ws.Rows(1).Address \'打印行标题(在每一页的顶部重复出现) \'\'设置页面 .PaperSize = MSExcel.XlPaperSize.xlPaperA4 \'纸张大小 \'.LeftMargin = 30 \'页面左边距 \'.RightMargin = 30\'页面右边距 \'.TopMargin = 50 \'页面顶部边距 \'.BottomMargin = 50 \'页面底部边距 \'.HeaderMargin = 40 \'页面顶端到页眉的距离 \'.FooterMargin = 40 \'页脚到页面底端的距离 \'.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 = False \'打印网格线 \'缩放打印 .Zoom = False\'以下设置将缩印在一页内 \'.FitToPagesWide = 1 \'按照1页的宽度打印 .FitToPagesTall = 1 \'按照1页的高度打印 End With App.Visible = True Ws.PrintPreview Next App.Quit 我想所有列打印到一页,上述设置始终是将所有内容打印到一页,该怎么设置?
|
-- 作者:有点蓝 -- 发布时间:2023/1/6 8:45:00 -- 没有办法设置,这个都是整页等比缩放的。只能是打开execl文件手工调整把所有列拉窄到一页的范围内。 |
-- 作者:kaituozhe -- 发布时间:2023/1/6 15:38:00 -- .PrintArea = Ws.UsedRange.Address \'打印工作表的使用区域 但是表里好多行、好多列都没有数据(主体数据区域外),也在使用区域里,怎么回事呀
|
-- 作者:有点蓝 -- 发布时间:2023/1/6 15:42:00 -- 说明这些单元格曾经被编辑过,然后清空了数据;或者写入过空字符串。只要被编辑过的单元格都属于有效数据区,不管有没有数据。只能是手工把这些区域整行(列)选中,然后删除掉 |