以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]Excel 生成的报表,自动行高后,如何判断纸张大小  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123100)

--  作者:2900819580
--  发布时间:2018/8/7 22:01:00
--  [求助]Excel 生成的报表,自动行高后,如何判断纸张大小

Excel 生成的报表,自动行高后,如何判断纸张大小

 

原来设计是按行数来判断的,但现在加上自动行高后,就没办法了。

 

有什么好方法吗?


--  作者:有点蓝
--  发布时间:2018/8/7 22:12:00
--  
不能指定行数了,只能自动分页。
--  作者:2900819580
--  发布时间:2018/8/8 15:50:00
--  

老师,那自动分页后,在程序中可以判断它是二页吗?

 

以下是代码。

            Book.Build() \'生成报表
            Book.Save(fl)
           
            Dim App As New MSExcel.Application
            Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
            Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
            Dim Rg As MSExcel.Range = Ws.Cells
           
            App.Visible = True
            ShowAppWindow(fl1,2)
            Dim Rg1 As MSExcel.Range = Ws.Range("A6:N" & tb.Rows.Count)
            Rg1.EntireRow.AutoFit
            ws.PrintOut(ActivePrinter:= e.Form.Controls("V_Com打印机").text)


--  作者:有点甜
--  发布时间:2018/8/8 16:09:00
--  

生成报表以后,插入换页符,如

 

Ws.Rows(16).PageBreak = MSExcel.XlPageBreak.xlPageBreakManual

 

 

 

 


--  作者:2900819580
--  发布时间:2018/8/8 17:03:00
--  

老师,可能我没讲清楚,我之前的做法是没有超过13行的,就用A5纸横向打印,超过13行的就用A4纸纵向打印

 

现在加了自动行高,就没办法用这个条件去判断了,我想问一下,有没有办法通过打印页数去判断用什么纸张打印。

 


--  作者:有点甜
--  发布时间:2018/8/8 17:10:00
--  

判断高度


Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\test.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.UsedRange
msgbox(rg.height)
App.Quit