Foxtable(狐表)用户栏目专家坐堂 → [求助]如何自适应报表行高


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

主题:[求助]如何自适应报表行高

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


加好友 发短信
等级:幼狐 帖子:155 积分:1096 威望:0 精华:0 注册:2014/8/14 8:38:00
[求助]如何自适应报表行高  发帖心情 Post By:2014/9/27 21:42:00 [只看该作者]

问题有2个:
1、如何设置只打印今天的报表
使用下面这段代码也无法打印当天报表

Dim Book As New XLS.Book(ProjectPath & "Attachments\订单.xls") '打开模板
Dim
fl As String = ProjectPath & "Reports\订单.xls"
Dim
Sheet As XLS.Sheet = Book.Sheets(0)
Sheet
(3,9).Value = "<日期 = # " & Date.Today & "#>" '写入打印条件
Book.Build()
'生成报表
Book.Save(fl)

Dim
Proc As New Process
Proc.File = fl
Proc.Start()



2、如何自适应报表的高度,我的设置好像无效

下面是实例,还请高人指点

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试理疗项目.zip



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


加好友 发短信
等级:幼狐 帖子:155 积分:1096 威望:0 精华:0 注册:2014/8/14 8:38:00
  发帖心情 Post By:2014/9/27 21:44:00 [只看该作者]

论坛找了好多帖子,都没找到答案

图片点击可在新窗口打开查看此主题相关图片如下:5.bmp
图片点击可在新窗口打开查看


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


加好友 发短信
等级:幼狐 帖子:155 积分:1096 威望:0 精华:0 注册:2014/8/14 8:38:00
  发帖心情 Post By:2014/9/27 21:55:00 [只看该作者]

各位版主有在线的吗,帮忙看下咯

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


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

 生成报表以后,用vba设置自动行高。

 

如果要调整工作表全部单元格的大小,可以使用Cells属性。如:

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\Report.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.Cells
Rg.EntireColumn.AutoFit   '自动调整列宽
Rg.EntireRow.AutoFit  '自动调整行高
App.Visible = True

 

http://www.foxtable.com/help/topics/2121.htm

 


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


加好友 发短信
等级:婴狐 帖子:85 积分:755 威望:0 精华:0 注册:2014/9/12 17:35:00
  发帖心情 Post By:2014/11/16 9:12:00 [只看该作者]

 回楼上的,您所说的代码应该是填在什么事件中?

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


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

以下是引用tommywen01在2014-11-16 9:12:00的发言:
 回楼上的,您所说的代码应该是填在什么事件中?

 

生成报表以后,也就是 book.Build 之后,加上上面的代码


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


加好友 发短信
等级:婴狐 帖子:85 积分:755 威望:0 精华:0 注册:2014/9/12 17:35:00
  发帖心情 Post By:2014/11/17 9:59:00 [只看该作者]

不是很看得懂。
1. 报表事件是针对整个foxtable项目的所有报表,而不是针对单一报表的。这个代码放在AfterBuild事件中,怎么动态分辨哪些报表要调整哪些不用调整?
2. 我是通过XLS.Reports("报表2").Build()这样的代码来生成报表的,如果加入上述代码,那么报表就被重复打开了。
    而且上述代码只能是Report.xls已经建立的情况下才能起作用;否则如果报表是第一次建立,会提示文件不存在。

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


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

Dim Book As New XLS.Book(ProjectPath & "Attachments\日报表.xls") '打开模板
Dim fl As String = ProjectPath & "Reports\日报表.xls"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
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
'Rg.EntireColumn.AutoFit   '自动调整列宽
Rg.EntireRow.AutoFit  '自动调整行高
App.Visible = True


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


加好友 发短信
等级:婴狐 帖子:85 积分:755 威望:0 精华:0 注册:2014/9/12 17:35:00
  发帖心情 Post By:2014/11/22 0:53:00 [只看该作者]

 谢谢,不过你的方法只能对没有合并过单元格的行才起作用,对于同一行有合并单元格的该如何自动调整行高?

Excel的方法可以参考这里:http://club.excelhome.net/thread-381916-1-1.html

我不知道SUB这样的代码应该怎么写在foxtable中。

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/11/22 9:32:00 [只看该作者]

写在全局代码里

 回到顶部