隨筆-193  評(píng)論-715  文章-1  trackbacks-0
          最近一直在做Primavera的一些整合工作,我們老大最近喜歡上了Excel,所以我們的做法就是采用Excel作為客戶端,服務(wù)端采用Java開(kāi)發(fā)的WebService來(lái)進(jìn)行處理,這是一種新的嘗試,因?yàn)镋xcel有很強(qiáng)大的功能,所以我們可以少做很多事情,其實(shí)這種做法也有一定的好處。

          以前有接觸一下VB,但是VBA還是頭一次,說(shuō)實(shí)話,現(xiàn)在對(duì)VB/VBA都不是很熟悉,很多語(yǔ)法我都還不會(huì),常常連Debug都要找別人幫忙,呵呵。兩周過(guò)去了,我居然還搞定了,雖然程序?qū)懙煤軄y,但是還是有不少心得的,所以想在此記錄下來(lái),分享給大家。

          1、終級(jí)一招。
          情景:假如我們想設(shè)置一下Excel單元格的樣式,如設(shè)置成日期顯示格式,將2008/01/27顯示為1-27,怎么辦?像我這樣的新手肯定是不會(huì)知道該怎么弄的,到底怎么辦呀?急死我了。
          解法:采用宏來(lái)錄制一個(gè)設(shè)置日期顯示格式的單元格,然后用VBA編輯器打開(kāi)看看,不就知道了,呵呵。這招是不是很強(qiáng)大?看來(lái)如果你不會(huì)宏的錄制,那就得好好學(xué)學(xué)了,超級(jí)簡(jiǎn)單的,例如我錄制的設(shè)置日期的宏顯示的代碼如下:
          Sub?Macro1()
          '
          '
          ?Macro1?Macro
          '
          ?宏由?Robin?錄制,時(shí)間:?2008-1-27
          ????Selection.NumberFormatLocal?=?"m-d;@"
          End?Sub

          2、VBA是單線程的。
          情景:如果要用你想像某些軟件那樣,用戶界面看到在做事,而后臺(tái)又在運(yùn)行程序的話了,可以自己找一些API來(lái)實(shí)現(xiàn),網(wǎng)上也有這樣的例子,不過(guò)我做過(guò)這樣的嘗試,實(shí)現(xiàn)都因?yàn)榉N種原因失敗了,因?yàn)樵谧约鹤龅乃^的Thread里面,不能讀取Excel的單元格,也不能引用其它庫(kù)來(lái)調(diào)用WebService之類的東東,所以當(dāng)你想這樣做的時(shí)候,一定要先試試看是不是行得通,行不通就得想想你的架構(gòu)是不是要改改了。
          解法:最好是不要用多線程。如果非要用,先要有充分的技術(shù)準(zhǔn)備。

          3、找一份好的Excel VBA文檔。
          情景:怎么知道我的Sheet中有多少行數(shù)據(jù)?怎么辦?去搜?文檔很重要喲,特別是像我這樣的新手。
          解法:網(wǎng)上有很多,下一份你自己認(rèn)為好的。如果你們要也可以留下Email我發(fā)給你們。

          暫時(shí)寫(xiě)這么多,有心得再來(lái)添加。
          posted on 2008-01-27 23:14 Robin's Programming World 閱讀(4848) 評(píng)論(24)  編輯  收藏 所屬分類: 其它

          評(píng)論:
          # re: VBA編程心得 2008-01-28 01:42 | otom3@163.com
          多線程????不能用timer實(shí)現(xiàn)???  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得[未登錄](méi) 2008-01-28 08:35 | Bomber
          3Q~~

          quickbomber@gmail.com  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得 2008-01-28 08:39 | 虞青
          richard_yuq@163.com  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得 2008-01-28 10:04 | arbor
          可否發(fā)一份給我:arbor.huang@gmail.com. Thanks!  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得 2008-03-03 23:29 | kkc235
          我也遇到了一個(gè)多錢程的問(wèn)題, 一直解決不了, 正在郁悶

          背景是這樣的
          在OPEN是EXCEL不可見(jiàn), 我們做一些處理,處理后設(shè)成可見(jiàn), 我要做的是可見(jiàn)后馬上做一些東西,

          但之前的處理是addin實(shí)現(xiàn)的, 和VBA無(wú)法連在一起, 所以我只有自己開(kāi)一個(gè)線程和監(jiān)聽(tīng)可見(jiàn)空上屬性了, 但一但線程中做一些寫(xiě)的操作就完了,再對(duì)excel寫(xiě)東西時(shí)就會(huì)掛  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得[未登錄](méi) 2008-06-05 10:46 | yy
          請(qǐng)教下 java可以調(diào)用 excel中 用vba寫(xiě)的宏么  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得 2008-06-06 17:31 | Robin's Java World
          @yy
          java中調(diào)vba的宏估計(jì)是不太可能的,VBA的宏運(yùn)行可需要Microsoft的環(huán)境。  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得 2008-06-18 10:02 | zh
          郵箱
          azhhuoiu@126.com,可以發(fā)一份么??  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得 2008-07-17 13:20 | 張亞強(qiáng)
          我的郵箱:zhangyaqiang2005@126.com  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得[未登錄](méi) 2008-09-10 10:31 | richard
          我的郵箱:richard2013@163.com 謝謝  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得 2008-09-12 00:30 | 730
          cyh730@gmail.com
          謝謝  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得[未登錄](méi) 2008-09-13 11:59 | cheng
          請(qǐng)把好的EXCEL VBA文檔發(fā)給我一份吧,謝謝!郵箱:anranlele@126.com  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得 2008-09-16 11:16 | Robin's Java World
          以上要資料的朋友,已經(jīng)發(fā)送郵件,請(qǐng)查收!  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得 2008-09-16 11:31 | 風(fēng)舞者
          breezedancer@yahoo.cn,謝謝,發(fā)我一封  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得 2008-09-18 16:27 | liuelite
          liuqw@pde.com.cn,謝謝,請(qǐng)發(fā)一份給我。  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得 2008-09-22 09:52 | 鬼冢
          44936988@qq.com,謝謝,請(qǐng)發(fā)一份給我  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得[未登錄](méi) 2008-09-22 19:40 | kim
          請(qǐng)把好的EXCEL VBA文檔發(fā)給我一份吧,謝謝!
          我的郵箱15383382@qq.com   回復(fù)  更多評(píng)論
            
          # re: VBA編程心得 2008-11-04 22:54 | liguoyuan
          可否發(fā)給我一份,多謝了。
          liguoyuan1980@163.com  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得 2008-11-29 23:42 | Mephisto
          你好,你的VBA能否發(fā)我一份?winde_e@yahoo.com.cn,感謝。  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得 2009-01-29 21:26 | zhangping
          樓主能否也給我發(fā)一份。我的郵箱是zhangping1999@gmail.com  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得[未登錄](méi) 2009-03-04 16:42 | 111
          我的郵箱:tanyujiao1234@163.com  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得 2009-04-14 17:40 | 胡亦
          樓主能否給我發(fā)一份Excel VBA文檔。
          我的郵箱是fuwei1001@126.com   回復(fù)  更多評(píng)論
            
          # re: VBA編程心得[未登錄](méi) 2010-08-18 22:40 | jerry
          我也要一份,謝謝。
          jerrry_136510@yahoo.com.cn  回復(fù)  更多評(píng)論
            
          # re: VBA編程心得[未登錄](méi) 2011-10-28 14:56 | Rose
          樓主抽空給我發(fā)一份excel VBA文檔
          郵箱: niuqiong307@126.com 非常感謝!!  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 新竹县| 大安市| 丰顺县| 曲沃县| 桐梓县| 玉龙| 方城县| 中西区| 富阳市| 泗水县| 永和县| 阿拉善盟| 乳源| 宝山区| 元江| 贞丰县| 鹤庆县| 信宜市| 耒阳市| 鹤壁市| 芦山县| 凭祥市| 云梦县| 利辛县| 凉山| 武强县| 广安市| 呼伦贝尔市| 铁岭市| 龙门县| 会宁县| 泸州市| 通化县| 仁寿县| 延长县| 山西省| 建平县| 黄浦区| 望奎县| 武冈市| 登封市|