以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  EXCEL模板打印  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=38535)

--  作者:魔鬼之神
--  发布时间:2013/7/31 13:42:00
--  EXCEL模板打印
通过设置EXCEL模板打印的方式,用表格本身的页眉设置当前页数和总页数会打印不出来,因为不够地方,我想问题一下,可以直接在EXCEL上通过代码实现当前页数和总页数吗?
--  作者:Bin
--  发布时间:2013/7/31 14:54:00
--  
这个好像不行.
--  作者:狐狸爸爸
--  发布时间:2013/7/31 14:58:00
--  

使用标记和事件,从这节开始看:
http://www.foxtable.com/help/topics/1396.htm


 
基本思路:
 
1、定义三个Var变量,分别表示已经打印行数,总页数和当前页。
2、自己做一个打印按钮,根据要打印的数据的行数,可以算出总页数,例如你的模版是打印选定行,每页10行,那么打印按钮的代码:
 
Var("总页数")  = math.Ceiling( (Tables("xxx").BottomPosition - Tables("xxx").TopPosition +1) / 10)
Var("已打印行数") = 0
Var("当前页") = 1
Dim Book As New XLS.Book(ProjectPath & "Attachments\\出库单.xls")
Dim fl As String = ProjectPath & "Reports\\出库单.xls"
Book.Build() \'生成细节区
 
3、设置BuildDetail事件代码:
Select Case e.Book.TempLate
    Case "模版名称"
       Var("已打印行数") = var("已打印行数") + 1
       if Var("已打印行数") mod 10 = 0 then   ‘每打印10行,当前页加1
            Var("当前页")  = Var("当前页")  + 1
       end if
End Select

4、在模版的对应位置引用var变量:

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

 

细节自己调整,上面只是思路。

 

[此贴子已经被作者于2013-7-31 14:58:41编辑过]

--  作者:魔鬼之神
--  发布时间:2013/7/31 16:53:00
--  回复:(狐狸爸爸)使用标记和事件,从这节开始看:ht...

你误解我的意思,我是不要通过代码来实现,就像首行和尾行那样,直接加个“<XX>”这样子就可以实现了


--  作者:狐狸爸爸
--  发布时间:2013/7/31 16:54:00
--  
必须通过代码才能实现。