随笔-103  评论-300  文章-0  trackbacks-0
最近一直在做Primavera的一些整合工作,我们老大最近喜欢上了Excel,所以我们的做法就是采用Excel作为客户端,服务端采用Java开发的WebService来进行处理,这是一种新的尝试,因为Excel有很强大的功能,所以我们可以少做很多事情,其实这种做法也有一定的好处。

以前有接触一下VB,但是VBA还是头一次,说实话,现在对VB/VBA都不是很熟悉,很多语法我都还不会,常常连Debug都要找别人帮忙,呵呵。两周过去了,我居然还搞定了,虽然程序写得很乱,但是还是有不少心得的,所以想在此记录下来,分享给大家。

1、终级一招。
情景:假如我们想设置一下Excel单元格的样式,如设置成日期显示格式,将2008/01/27显示为1-27,怎么办?像我这样的新手肯定是不会知道该怎么弄的,到底怎么办呀?急死我了。
解法:采用宏来录制一个设置日期显示格式的单元格,然后用VBA编辑器打开看看,不就知道了,呵呵。这招是不是很强大?看来如果你不会宏的录制,那就得好好学学了,超级简单的,例如我录制的设置日期的宏显示的代码如下:
Sub Macro1()
'
'
 Macro1 Macro
'
 宏由 Robin 录制,时间: 2008-1-27
    Selection.NumberFormatLocal = "m-d;@"
End Sub

2、VBA是单线程的。
情景:如果要用你想像某些软件那样,用户界面看到在做事,而后台又在运行程序的话了,可以自己找一些API来实现,网上也有这样的例子,不过我做过这样的尝试,实现都因为种种原因失败了,因为在自己做的所谓的Thread里面,不能读取Excel的单元格,也不能引用其它库来调用WebService之类的东东,所以当你想这样做的时候,一定要先试试看是不是行得通,行不通就得想想你的架构是不是要改改了。
解法:最好是不要用多线程。如果非要用,先要有充分的技术准备。

3、找一份好的Excel VBA文档。
情景:怎么知道我的Sheet中有多少行数据?怎么办?去搜?文档很重要哟,特别是像我这样的新手。
解法:网上有很多,下一份你自己认为好的。如果你们要也可以留下Email我发给你们。

暂时写这么多,有心得再来添加。
posted on 2008-01-27 23:14 Robin's Java World 阅读(1739) 评论(9)  编辑  收藏 所属分类: 其它

评论:
# re: VBA编程心得 2008-01-28 01:42 | otom3@163.com
多线程????不能用timer实现???  回复  更多评论
  
# re: VBA编程心得[未登录] 2008-01-28 08:35 | Bomber
3Q~~

quickbomber@gmail.com  回复  更多评论
  
# re: VBA编程心得 2008-01-28 08:39 | 虞青
richard_yuq@163.com  回复  更多评论
  
# re: VBA编程心得 2008-01-28 10:04 | arbor
可否发一份给我:arbor.huang@gmail.com. Thanks!  回复  更多评论
  
# re: VBA编程心得 2008-03-03 23:29 | kkc235
我也遇到了一个多钱程的问题, 一直解决不了, 正在郁闷

背景是这样的
在OPEN是EXCEL不可见, 我们做一些处理,处理后设成可见, 我要做的是可见后马上做一些东西,

但之前的处理是addin实现的, 和VBA无法连在一起, 所以我只有自己开一个线程和监听可见空上属性了, 但一但线程中做一些写的操作就完了,再对excel写东西时就会挂  回复  更多评论
  
# re: VBA编程心得[未登录] 2008-06-05 10:46 | yy
请教下 java可以调用 excel中 用vba写的宏么  回复  更多评论
  
# re: VBA编程心得 2008-06-06 17:31 | Robin's Java World
@yy
java中调vba的宏估计是不太可能的,VBA的宏运行可需要Microsoft的环境。  回复  更多评论
  
# re: VBA编程心得 2008-06-18 10:02 | zh
邮箱
azhhuoiu@126.com,可以发一份么??  回复  更多评论
  
# re: VBA编程心得 2008-07-17 13:20 | 张亚强
我的邮箱:zhangyaqiang2005@126.com  回复  更多评论
  

标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-09-01 00:30 编辑过
 
 
相关链接:
网站导航: