劉 通
(山東省東營市勝利油田物資供應(yīng)處生產(chǎn)管理中心 山東 東營 257000)
中石化勝利油田二級單位用電報表處理系統(tǒng)
劉 通
(山東省東營市勝利油田物資供應(yīng)處生產(chǎn)管理中心 山東 東營 257000)
隨著節(jié)能減排的要求,對企業(yè)用電管理要做到精細(xì)化,這就意味著要提報更多的統(tǒng)計報表和數(shù)據(jù)分析,本論文提出一個運(yùn)行于Excel Vba平臺上的用電報表自動生成的辦公自動化的解決方案。該程序包括數(shù)據(jù)、分析處理、報表導(dǎo)出3個模塊,能夠幫助企業(yè)迅速高效地對當(dāng)月用電情況作出分析和報告,最大程度地避免了人工手動操作,極大地提高了結(jié)算的準(zhǔn)確度和效率。
Vba 宏 報表處理
勝利油田二級單位用電報表主要以Excel電子表格xls文件格式以郵件的形式傳播,原始數(shù)據(jù)采取供電公司網(wǎng)絡(luò)提供和二級單位現(xiàn)場抄表人員自行上報抄表數(shù)據(jù)對照驗(yàn)證采集,在傳統(tǒng)人工結(jié)算管理操作中,需要登錄網(wǎng)站復(fù)制粘貼數(shù)據(jù),通過設(shè)定公式得出計算結(jié)果再手動復(fù)制粘貼、更改日期另存報表文件,其過程繁瑣且不可避免地出現(xiàn)手工運(yùn)算的情況,效率低下,容易出錯,大部分工作屬于機(jī)械性非創(chuàng)造性的勞動,完全可以通過編程交給計算機(jī)自動運(yùn)行。
Vba語言:微軟Office辦公軟件內(nèi)置Visual Basic Application語言用于開發(fā)文檔內(nèi)可批量操作的宏命令,是辦公自動化解決方案的天然工具?;趫蟊肀旧砀袷降囊螅鞠到y(tǒng)采用Excel自帶的Vba語言進(jìn)行開發(fā)。
每月保存形如原始數(shù)據(jù)01.xls的文件,系統(tǒng)所有代碼和分析用公式布局框架均存入此文件,月份數(shù)不足兩位的補(bǔ)0,以保證文件名的規(guī)格統(tǒng)一,便于提取每月的關(guān)鍵字月份數(shù)monNum。
具體模塊及流程圖如圖1所示。
圖1 模塊及流程圖
定稿日期:2014-02-12
3.1 全局設(shè)置
在工作簿打開的過程workbook_open()賦值所有全局變量并執(zhí)行驗(yàn)證功能:
3.2 Web查詢供電公司數(shù)據(jù)
每月供電公司網(wǎng)站定期錄入已結(jié)算數(shù)據(jù),分為抄表匯總和電費(fèi)明細(xì)兩頁,各用電單位登錄后自動顯示當(dāng)前月數(shù)據(jù)。由于供電公司的數(shù)據(jù)在結(jié)算后已經(jīng)下賬,不可更改,即使有錯誤也會在下月累計修正,因此賬面上不存在錯誤的問題,如有差異只有在本單位自行抄表數(shù)據(jù)中配合更改。在本系統(tǒng)中分別設(shè)定“抄表”和“電費(fèi)明細(xì)”兩個工作表用于復(fù)制存儲。
在VB編輯器中添加窗體,加入WebBrowser控件,使之擁有自己的內(nèi)置瀏覽器,在代碼中填入本單位用戶名和口令,用來自動登錄網(wǎng)站取得查詢權(quán)限。核心代碼:[1]
3.3 導(dǎo)入本單位抄表數(shù)據(jù)
單位現(xiàn)場人員整理發(fā)送形如“2014水、電、油統(tǒng)計表(1月結(jié)).xls”的抄表文件,設(shè)置功能按鈕實(shí)現(xiàn)點(diǎn)擊后自動讀取當(dāng)月電抄表數(shù)據(jù)復(fù)制到本系統(tǒng)工作簿中的目標(biāo)工作表內(nèi),核心代碼:
3.4 對照驗(yàn)證
在各工作表之間,用形如“=A14=H14”的邏輯判斷函數(shù)查看兩個單元格數(shù)據(jù)是否相等,返回TRUE或FALSE,并且用連接單元格的方式匯總所有邏輯結(jié)果進(jìn)行全面判斷,若都為TRUE則驗(yàn)證通過,設(shè)置總判斷函數(shù)結(jié)果為“OK”,否則結(jié)果為“NOK”。把結(jié)果設(shè)定為字符串型是為了在測試某些數(shù)據(jù)時,不需要別的嚴(yán)格驗(yàn)證而能執(zhí)行,方便手動更改總體判斷結(jié)果執(zhí)行命令。總體判斷函數(shù):
3.5 分析
大部分報表的分析只需要設(shè)定公式和頁面布局即可從原始數(shù)據(jù)區(qū)提取相關(guān)信息完成運(yùn)算歸類,生成報表內(nèi)容,除了按月導(dǎo)出月度報表文件外無需宏命令。個別涉及到累計數(shù)據(jù)的報表,則不能在此單月文件內(nèi)直接處理,因此建立累計數(shù)據(jù)表工作簿,在本月系統(tǒng)內(nèi)的統(tǒng)一操作中提供月份參數(shù),把相關(guān)報表的本月數(shù)據(jù)寫入累計數(shù)據(jù)表,并讀取其中的截止到本月份的累計數(shù)據(jù)寫回相關(guān)報表。其中涉及到去年截止到本月累積數(shù)據(jù)的,不能直接讀取其合計數(shù),通過月份參數(shù)循環(huán)累加到本月份獲得去年至當(dāng)前同月份累計數(shù),示例代碼:
3.6 導(dǎo)出報表
每個預(yù)上報的報表都存有形如“分公司月度用電分析報表00.xls”的模板文件,程序把整理后的數(shù)據(jù)按照其數(shù)據(jù)區(qū)域復(fù)制到此文件,然后修改成當(dāng)月日期,另存為當(dāng)月月份的上報報表。核心代碼:
3.7 綜合批量操作
每個報表導(dǎo)出操作都是一個過程(sub),設(shè)定了相應(yīng)的功能按鈕實(shí)現(xiàn)點(diǎn)擊運(yùn)行。當(dāng)全部數(shù)據(jù)都驗(yàn)證無誤后,即可實(shí)現(xiàn)單擊一個“一鍵完成”的總體按鈕批量操作,一次性調(diào)用全部的過程。若驗(yàn)證未通過,顯示警告框退出總過程,反之Excel會根據(jù)指令依次打開或建立報表文檔,在Excel2003中點(diǎn)擊程序的總關(guān)閉鍵會關(guān)閉所有已打開的單子表格文檔,提示是否保存警告框,選擇“全是”即可保存全部報表及中間累計存儲性文檔。核心代碼:
本系統(tǒng)經(jīng)筆者開發(fā)運(yùn)行半年,期間不斷改進(jìn),彌補(bǔ)了人工操作中繁瑣、易遺漏、不利于驗(yàn)證等種種不足之處,圓滿實(shí)現(xiàn)了提高效率和準(zhǔn)確性的預(yù)期效果,特別是在相關(guān)人員沒有及時上報數(shù)據(jù)時間緊迫的情況下發(fā)揮了關(guān)鍵性的作用,作為一項(xiàng)已經(jīng)成熟的系統(tǒng),可以推廣到其他油田二級單位使用。
[1]@冰凍熱涼茶,VBA-網(wǎng)頁控制方式簡介,http://chiensq. blog.163.com/blog/static/1035628201174015765/,2011-8-4.
[2]@david,學(xué)用Excel VBA對象的事件編程,http://blog.sina. com.cn/s/blog_53954b950100rgdq.html,2011-05-29.
Electric Report Processing System for Sinopec Shengli Oilfield Secondary Units
(LIU Tong)
(Shengli Oilfield Supply Production Management Center of Dongying City,Dongying Shandong 257000,China)
It means to offer more statistical analysis reports and data to make sure the enterprise power management to do fine with the development of energy-saving emission reduction requirements.This thesis presents a run on the Excel Vba platform on the office automation to automatically generate electricity report solution.The program includes data processing,analysis,report forms output of three modules,can help enterprises to make the electricity analysis and reporting quickly and efficiently,the maximum to avoid manual operation,the accuracy and efficiency greatly improve settlement.
Vba;macro;report processing
TP393
A
1008-1739(2014)05-63-3