以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  报表模板能设置“自动筛选”吗?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=55879)

--  作者:瞩望星空
--  发布时间:2014/8/25 15:55:00
--  报表模板能设置“自动筛选”吗?
使用“XLS报表模板”文件输出表的数据,在报表模板文件中设置了XLS的“自动筛选”,
输出数据后,这个“自动筛选”状态还是存在,就是点击这个“自动筛选”没反映。
有办法解决吗?

--  作者:Bin
--  发布时间:2014/8/25 15:55:00
--  
模版文件 自动筛选?
--  作者:有点甜
--  发布时间:2014/8/25 15:57:00
--  

 应该是不能保留这个设置的。

 

 你可以用vba,在生成之后去设置一下。


--  作者:瞩望星空
--  发布时间:2014/8/25 16:22:00
--  
能给一下设置XLS文件“自动筛选”的VBA代码吗?不会这个。
--  作者:有点甜
--  发布时间:2014/8/25 17:09:00
--  
以下是引用瞩望星空在2014-8-25 16:22:00的发言:
能给一下设置XLS文件“自动筛选”的VBA代码吗?不会这个。

 

1、你录制一个宏,然后拷贝生成的代码;

 

2、参考帮助文档,对应的把excel宏的代码改成foxtable的代码即可。

 

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

 


--  作者:瞩望星空
--  发布时间:2014/8/25 22:59:00
--  
甜总:
1,从xls宏中拷贝的代码:
 Range("A3:H3").Select
    Selection.AutoFilter

2、我从帮助中抄写部分代码:

Book.Build() \'生成细节区    ‘这二句是FT中原来生成报表文件
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)
Ws.Select \'在选定单元格之前,必须先选定工作表!!
Ws.Range("A3:H3").Select        \'以下二行是自己加的
Ws.Selection.AutoFilter
\'Ws.Range("A1:A10").Select\'选定单元格
App.Visible = True

App.Quit

执行后,出现如下错误:
.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2014.8.15.1
错误所在事件:窗口,窗口2,Button1,Click
详细错误信息:
Public member \'Selection\' on type \'Worksheet\' not found.

请修改代码。
谢谢!


--  作者:有点甜
--  发布时间:2014/8/25 23:07:00
--  

 这样改一下

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Ws.Select \'在选定单元格之前,必须先选定工作表!!
Ws.Range("A3:H3").Select        \'以下二行是自己加的
app.Selection.AutoFilter
\'Ws.Range("A1:A10").Select\'选定单元格
App.Visible = True

App.Quit

 


--  作者:瞩望星空
--  发布时间:2014/8/25 23:16:00
--  
谢谢甜总,解决问题了。


另外,我在最后一行前加了一个命令:

Wb.Save  ‘保存工作簿,否则退出时,会提醒是否保存文件。