以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教:如何在EXCEL报表中定位打印条件<all>的单元格位置,以便动态设置打印条件?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=30631)

--  作者:ft20130316
--  发布时间:2013/4/1 11:20:00
--  请教:如何在EXCEL报表中定位打印条件<all>的单元格位置,以便动态设置打印条件?
如题
--  作者:XYT
--  发布时间:2013/4/1 11:25:00
--  

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

是这样吗


--  作者:ft20130316
--  发布时间:2013/4/1 11:30:00
--  

这个例子中所讲单元格是固定位置,实际中可能条件单元格式位置是变化的

--  作者:ft20130316
--  发布时间:2013/4/1 11:30:00
--  
有可能报表格式调整了,设置条件的单元格式不在 代码指定位置了
[此贴子已经被作者于2013-4-1 11:30:42编辑过]

--  作者:Bin
--  发布时间:2013/4/1 11:31:00
--  
那只有专业报表才能满足你需求了。可以去翻一下帮助文档的专业报表内容
--  作者:狐狸爸爸
--  发布时间:2013/4/1 11:32:00
--  

这个不好办,太灵活的需求,用专业报表吧。

foxtable的专业报表很好学的,学会了,随心所欲。


--  作者:XYT
--  发布时间:2013/4/1 11:34:00
--  
这个不是单元格,是判断条件。如果你判断条件变了,那肯定要改的。
--  作者:ft20130316
--  发布时间:2013/4/1 12:08:00
--  
 Book.Save(fl) 时,报表模板文件并未被修改,只要找到<all>替换就行
关键是怎样找到<all>的位置


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()
[此贴子已经被作者于2013-4-1 12:31:27编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/4/1 13:06:00
--  

打开模版文件,自己点一下,行号和列号,都是从0开始。

例如下面红圈的位置,就是第三行,第九列:

 

图片点击可在新窗口打开查看

 

任何模版是固定的,确定位置都是靠人工来数,然后修改代码。


--  作者:ft20130316
--  发布时间:2013/4/1 15:10:00
--  
谢谢!
Sheet(3,9)
放大Sheet(10,25).
给报表顶部和右侧留下足够多的备用单元后,这个条件单元格位置变动机率就小多了