以文本方式查看主题

-  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
--  
说明这些单元格曾经被编辑过,然后清空了数据;或者写入过空字符串。只要被编辑过的单元格都属于有效数据区,不管有没有数据。只能是手工把这些区域整行(列)选中,然后删除掉