欢迎来到天天文库
浏览记录
ID:40477012
大小:52.01 KB
页数:12页
时间:2019-08-03
《利用UFO报表批处理制作合并报表》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、利用UFO报表批处理制作合并报表2008-1-281.报表路径:先把路径列出,大家稍微看一下。D:合并报表你的下载权限0低于此附件所需权限1,你无法查看此附件主要有三个内容你的下载权限0低于此附件所需权限1,你无法查看此附件合并报表编程过程说明:1.由于第一次编合并报表,所以很多东西不知道,那么就查资料,主要参考三个资料,一个是UFO的二次开发帮助文件,第二个是孙勇写的《UFO报表高级应用培训讲义》,第三个是用友报表的PDF帮助2.客户的要求:客户要求将12张资产负债表(当然还有很多其他的表)做合并,这12张分别是不同的下属单位,由
2、于在开始实施的时候,就考虑到合并报表的事情,所以但是在建立帐套的时候,要求所有单位的会计科目(包括辅助核算),报表格式都必须一致,所以这12张表的格式都是一模一样的。开始动手了1.现在第一步是建立一张合并报表模板,可以直接用现有的资产负债表模板,然后把公式清空,报表文件为“D:合并报表zt0032008资产负债表.rep”2.报表归类:我们假设合并两张报表就可以了,zt003和zt013,路径如下:D:合并报表D:合并报表zt0032008资产负债表.repD:合并报表zt0132008资产负债表.rep简单
3、的合并方式:将zt013的资产负债表的对应的单元格与ZT003对应的单元格相加。批处理放在以下文件夹:D:合并报表批处理2008我们先简单建立一个批处理,用以实现两个单元格的简单合并,文件命名为“zt003zcfzb.shl”批命令如下:LETC7=C7+"D:合并报表zt0032008资产负债表.rep"->C7RELA年WITH"D:合并报表zt0032008资产负债表.rep"->年,月WITH"D:合并报表zt0032008资产负债表.rep"->月起码知道以上的命令可以实现将C7单元格的数据加上
4、“D:合并报表zt0032008资产负债表.rep”C7的数据。但是如果这样做的话,每一个单元格就要一条语句,而且如果有多张表的话,就更加复杂,而且如果到时候要修改的话,比如到了2009年的话,每一条都要改一下,甚至如果单元格发生变化,要改的话,那不是要疯掉!!所以在想能不能通过变量来实现,便于后续修改。 经过翻查资料,大概知道了变量的应用,然后就来实现吧。 第一步,把报表路径变量化,可以直接设定一个变量&rep,然后赋值,语句如下:let&rep="D:合并报表zt0032008资产负债表.rep" 那么
5、单元格的赋值就可以这样来写:LETC7=C7+&rep->C7RELA年WITH&rep->年,月WITH&rep->月 这样写可以减少修改报表路径的问题,至少改个路径变量值,其他就不用改了,相对来说比较方便一些,但是,问题是单元格也是比较麻烦,一条一来,有没有什么其他办法呢? 睡觉的时候突然想到能否用循环来处理,如果可以就好办多了,于是就开始实施,用while循环,但是问题是如何来表示列号和行号呢? 经过翻查资料,有一个意外的发现:你的下载权限0低于此附件所需权限1,你无法查看此附件有了这个意外的发现之后,我就想,干脆把
6、路径、列号、行号都用变量表示算了,看看情况如何,代码如下://设置报表路径、合并起始列、起始行let&rep1="D:合并报表"let&rep2="zt003"let&rep3="2008"let&rep4="资产负债表.rep"let&col0=3let&row0=7//设置报表路径let&rep=&rep1+&rep2+&rep3+&rep4//设置列号let&col=&col0//设置行号let&row=&row0//通过循环合并数据,合并C755的单元格while&col<=4while&row<=55let!&col
7、#&row=!&col#&row+&rep->!&col#&rowrela年with&rep->年,月with&rep->月let&row=&row+1endlet&row=&row0let&col=&col+1end做了以上变动之后,至少修改起来事比较简单,可以把这段代码保存为“zt003zcfzb.shl”通过以上的批处理命令,我们在执行此批命令的时候,就可以实现把一个表的C755的单元格与ZT003的对应的单元格相加。现在的情况有所变化,我们有两种需要合并的报表,比如D:合并报表zt0032008资产负债表.repD:
8、合并报表zt0132008资产负债表.rep 最终合并到以下表:D:合并报表 1母公司2008资产负债表.rep你的下载权限0低于此附件所需权限1,你无法查看此附件如何实现呢?如何来利用之前做的批命令呢
此文档下载收益归作者所有