Foxtable(狐表)用户栏目专家坐堂 → [求助]Excel 生成的报表,自动行高后,如何判断纸张大小


  共有2601人关注过本帖树形打印复制链接

主题:[求助]Excel 生成的报表,自动行高后,如何判断纸张大小

帅哥哟,离线,有人找我吗?
2900819580
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1353 积分:9868 威望:0 精华:0 注册:2015/6/30 8:46:00
[求助]Excel 生成的报表,自动行高后,如何判断纸张大小  发帖心情 Post By:2018/8/7 22:01:00 [只看该作者]

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

 

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

 

有什么好方法吗?


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/7 22:12:00 [只看该作者]

不能指定行数了,只能自动分页。

 回到顶部
帅哥哟,离线,有人找我吗?
2900819580
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1353 积分:9868 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By: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)


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/8 16:09:00 [只看该作者]

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

 

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

 

 

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
2900819580
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1353 积分:9868 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2018/8/8 17:03:00 [只看该作者]

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

 

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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


 回到顶部