作者Bedlem (Bedlem)
看板Visual_Basic
标题[VBA ] 能呼叫 VBA 的网路程式
时间Thu Nov 1 23:09:55 2012
公司用 Java + Oracel PL/SQL 开发了很多 Web 程式给同仁用,但是在
资料输出的部分,其实做得不太好,不是用 Oracle Discover 3.1,就是
写 Web 的报表程式,跑出资料到 Excel 里面後,很多地方需要再加工,
才能呈报给长官看。
为了解决报表端的问题,我和公司资讯部门的某个同事 ( 我自己不是公
司资讯部门的 ),一起在 Excel 的 VBA 环境中,开发了一套规模很大的
VBA 程式,首先它让 user 在 Excel VBA 的 forms 中输入一堆参数 (大
概是六组 ),然後按下一个按钮後,VBA 程式会呼叫 Windows API,把
Oracle Discover 3.1 打开,然後打开一堆 discover files (全部有十
几个),然後把参数丢进去跑报表,在报表输出到 Excel 里面,变成十
几个 Excel 档以後,VBA code 会把这十几个档案,合并到一个档案里
面 ( 变成一个档案里面,有十几个工作表 ),然後对每个工作表,根据
公司财务部、管理部、资讯部等一堆部门同事的要求,用 VBA code 自动
整理成他们想要的格式 ( 画各种粗细不一的格线,涂上不同颜色,合并
栏位,设定栏宽、字型、列印格式 ... 族繁不及备载 )。
因为这个 VBA 程式,是给海外子孙公司跑的 ( 大概有三四十家子孙公
司,我们公司是很大的上市公司 ),为了解决各地 PC 端环境不一的问
题,所以这支 VBA 程式,是放在台北的 PC Server 端 ( 好像是装
Windows NT 2003 ),让海外各办用 Windows 的 remote desktop 机制
连回来跑这支程式。现在问题来了,管 PC Server 端的 IT 同事,认为
这个系统 (给海外子孙公司编年度预算的系统) 已经上线, 报表端应该
用传统的 Web 报表输出程式,或者用 Web Discover / Crystal Report
才对,不应该再用 VBA code + Windows Remote Desktop 机制跑,但报
表的使用单位,包括台北管理、财务、IT ... 等单位,又认为最後要看
的报表还是 Excel 型态的,用这种方式处理,可以做到最【客制化】,
做出最漂亮的 Excel 报表。
所以我的问题是,用 Java ( JSP、JSF ? ) + Oracle PL SQL 开发的网
路程式,是否可以直接启动已经写好的 VBA code,然後把产生的报表叫
回来 ? 或者说,放在网路上给有权限的人使用 ? Web Discover 或者
Oracle Crystal Report 等 BI 工具,能在 Excel 的环境中,做到 Excel
VBA 可以做到的,一切和调整格式有关的工作吗 ? 或者更进一步问,
一般的报表使用者,有可能放弃 Excel 型态的报表吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.35.152.173
1F:推 Marty:在Excel中的 WorkBook_Open 里面呼叫VBA Code 11/02 08:23
2F:→ Marty:这样只要用外部程式Open Excel 就会自动完成所有的计算 11/02 08:25
3F:→ Bedlem:如果要传递数值进去怎麽办? 11/02 22:52
4F:推 Marty:先把参数都写到Excel Sheet储存格中 再Open一次 11/03 21:24
5F:推 Catbert:把参数都丢到一个table,再去table抓参数 11/03 23:03
6F:→ Bedlem:Java 可以丢参数到 Excel 里面吗? 11/03 23:24
7F:→ Catbert:用Java把参数丢到Oracle的一个Table中, 11/04 07:35
8F:→ Catbert:Excel再用ADO去Oracle Table抓参数回来跑报表 11/04 07:36