以文本方式查看主题

-  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=9312)

--  作者:mr725
--  发布时间:2011/3/28 16:17:00
--  应增加系统菜单上的Excel报表【事件】

现在有:beforebuild、afterbuild、等等····

 

感觉应增加一个:BeforeOpen 事件

 

比如:


Dim Book As New XLS.Book(ProjectPath & "Attachments\\分组统计.xls")
Dim Sheet As XLS.Sheet
Sheet = Book.Sheets("sheet1")
Book.Build()
Book.Save(ProjectPath & "reports\\分组统计.xls")
\'------------------------------------------------

 

1、估计虚线上下的代码,系统在生成Excel报表时都已经提供了的。

2、自己写代码时,这里(虚线之间)可以对报表进行加工的比如下面这段代码)··· 所以,要有针对这里的报表事件就好了。

 

Dim Book1 As New XLS.Book(ProjectPath & "reports\\分组统计.xls")
Dim Sheet1 As XLS.Sheet
Sheet1 = Book1.Sheets("sheet1")

 

···· 需要修改、添加的地方 ····

 

Book1.Save(ProjectPath & "reports\\分组统计.xls")

 

\'-----------------------------------------------
Dim Proc As New Process
Proc.File = ProjectPath & "reports\\订单.xls"
Proc.Start()

 

这样,很多时候就不必做自己的按钮了。  更多的excel报表问题都能迎刃而解了。

不知我说明白了没有。

[此贴子已经被作者于2011-3-28 16:22:04编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/3/28 16:25:00
--  

呵呵,用AfterBuild事件就行,这个时候报表已经生成了,只是没有保存而已。

 


--  作者:mr725
--  发布时间:2011/3/28 17:06:00
--  
以下是引用狐狸爸爸在2011-3-28 16:25:00的发言:

呵呵,用AfterBuild事件就行,这个时候报表已经生成了,只是没有保存而已。

 

就是AfterBuild事件不起作用才提出的呀····


--  作者:狐狸爸爸
--  发布时间:2011/3/28 17:07:00
--  

呵呵,看看这个:

 

http://help.foxtable.com/topics/1982.htm

 


--  作者:狐狸爸爸
--  发布时间:2011/3/28 17:19:00
--  
不过你如果用的是VBA,在这里修改是没有效果的,因为还没有保存。
--  作者:mr725
--  发布时间:2011/3/28 20:02:00
--  

不是VBA,是下面这个,但没有执行··· :

Dim Book As New XLS.Book(ProjectPath & "reports\\分组统计1.xls")
Dim Sheet As XLS.Sheet

Sheet = Book.Sheets(0)
Sheet(0,10).Value = "制单人:" & User.Name
Sheet(Sheet.Rows.Count,10).Value = "制单人:" & User.Name
Book.Save(ProjectPath & "reports\\分组统计1.xls")

 

怎么办呢?


--  作者:mr725
--  发布时间:2011/3/28 20:55:00
--  

帮助中这个AfterBuild中没有一点代码实例,不知道怎么样写代码才能执行

 


图片点击可在新窗口打开查看此主题相关图片如下:未命名aft.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2011/3/28 21:55:00
--  
我检查一下看看。
--  作者:狐狸爸爸
--  发布时间:2011/3/28 22:00:00
--  

测试成功,在示例文件"Excel报表.table"的AfterBuild加入事件:
 
 If e.book.TempLate = "出库单"
    Dim Sheet As XLS.Sheet = e.Book.Sheets(0)
    Sheet(15,5).Value = "制单人:" & User.Name \'修改模板,加入制单人信息
End If

成功地在出库单下方加上了制单人。


--  作者:mr725
--  发布时间:2011/3/28 22:31:00
--  

真是要谢谢啊····   阿门  图片点击可在新窗口打开查看