Board logo

標題: [發問] 1比46 [打印本頁]

作者: solely    時間: 2011-2-19 14:03     標題: 1比46

老實說,我不知道這個問題要從何問起=.=
我寫了一支小小的薪資程式,用公司的電腦執行薪資計算要23分才能跑完程序,
由於公司的電腦(xp+2003)是去年才更新的,
電腦的等級再怎麼差也不會比家裡七、八年沒更新的電腦(xp+2003)差才對,
可是,用家裡的電腦執行程序只要半分鐘就能完成,
我問過電腦公司,他說應該是我的程式有問題~~
後來,我在經理的電腦(win7+office2010)測試,不用半分鐘就能跑完程序
想請問各位高手,我要如何找出問題點出在哪呢?
排除硬體問題,是不是有類似「不當的引用項目」而導致1:46的速度比??
作者: oobird    時間: 2011-2-19 18:10

用f8鍵逐步執行
應該很容易發現問題出在什麼地方
作者: kimbal    時間: 2011-2-19 19:00

在oobird大大上再加小許
看看這些有沒有運用上
application.calculation = xlmanual
application.screenupdate=false
作者: solely    時間: 2011-2-19 22:16

回復 2# oobird
版主~
不知道是不是我又試玩了什麼功能...
家裡電腦的F8似乎被別的功能所取代,
按F8螢幕畫面會變成灰階狀,中間隱約有一對大小齒輪圖形,
[attach]4806[/attach]
不知道公司的電腦會不會也有這種狀況0.0
剛試玩了一下逐行偵錯,用滑鼠點......點的好辛苦XD
星期一上班,再測試公司的逐行偵錯~~
作者: solely    時間: 2011-2-19 22:26

回復 3# kimbal
嗯~
我會先關閉那幾行程序,先觀察看看它的執行狀況是不是和家裡的電腦一樣,
再來試試逐行偵錯~
作者: HUNGCHILIN    時間: 2011-2-19 22:51

這部份我想建議一下
在每個模組與THISWORKBOOK與Sheet 中
程式最上方
單獨加上這個Option Explicit
確保定義
再執行程式看看
----------------------------------------
以前要跑成本計算上萬比,多製程成本差不多要半小時。
多測幾台電腦,看看,如果是沒安裝,應該會有錯誤訊息,而不是20分鐘跑出來
作者: solely    時間: 2011-2-20 21:58

回復 6# HUNGCHILIN
我已把Option Explicit加入,並未發現異樣,
我想,可能是之前不當的引用項目,
變量未聲明的部份都已被我修正過了...
明天到公司再試看看有什麼異常現象~


ps.大師的大頭貼換了XD
作者: solely    時間: 2011-2-21 20:53

今天到公司,做了以下的測試...
我先以加入Option Explicit的程式碼執行,除了慢以外並無異常現象。
再來就是,關閉Application.ScreenUpdating = False觀察它的執行狀況,
它以10幾秒的速度在做切換.....人事管理.xls和出勤績效.xls
(家裡的電腦是以半秒的速度做切換)
後來,我做逐行偵錯....按著F8不放~
很明顯的程序卡在..開啟檔案和關閉檔案這兩行(各約10幾秒)
Workbooks.Open Filename:="D:\人事管理\出勤績效.xls
Windows("出勤績效.xls").Close
請問各位大大,在什麼狀況下,會導致開啟、關閉檔案速度變慢??
作者: Hsieh    時間: 2011-2-21 21:24

回復 8# solely

你在公司以外的電腦運作正常,我覺得跟你的程式碼應該關係不大
你可以看看公司電腦記憶體大小還有它啟動後跑的程式有哪些?
以我自身經驗,因為公司網管的緣故,它的監控程式會比較多
尤其是記憶體大小更是影響效能的重要因素
作者: solely    時間: 2011-2-22 19:34

回復 10# donald
清除DDE....
公司的電腦一點反應也沒有0.0
作者: solely    時間: 2011-2-22 20:16

回復 9# Hsieh
公司的記憶體是1.96GB
啟動後跑的程式....我看不懂XDD
[attach]4828[/attach][attach]4827[/attach]
我只發現到一點點異常現象...
公司的會計系統在跑資料時,CPU的使用率是40~48%,執行完後使用率歸0%
而Excel薪資程式在執行時,CPU的使用率絕大部份時間是在0~1%之間游走
(家裡電腦的記憶體是512MB,在執行薪資程式時,CPU的使用率是100%)
難道....這是受監控程式影響的關係??
有方法可以改善嗎??
作者: solely    時間: 2011-2-23 19:23

今天剛好電腦公司的工程師送東西過來
我問他..我的電腦是不是有設限Excel的CPU使用率
他為了證明他的清白0.0..幫我重新安裝了office.....結果無效
他又查看了一下..說電腦的系統怪怪的..於是又幫我重新安裝了xp
當然......還是無效~~
最後...關閉防毒軟體..意想不到的是..不用4秒就跑完程序了XD
可是..家裡的防毒軟體也是pcclin怎會有這麼大的差距..
工程師的解釋是..企業版的防毒軟體比較嚴謹~~

在此感謝各位大大的幫忙
讓我學到了如何偵錯




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)