劉 通
(山東省東營(yíng)市勝利油田物資供應(yīng)處生產(chǎn)管理中心 山東 東營(yíng) 257000)
中石化勝利油田二級(jí)單位用電報(bào)表處理系統(tǒng)
劉 通
(山東省東營(yíng)市勝利油田物資供應(yīng)處生產(chǎn)管理中心 山東 東營(yíng) 257000)
隨著節(jié)能減排的要求,對(duì)企業(yè)用電管理要做到精細(xì)化,這就意味著要提報(bào)更多的統(tǒng)計(jì)報(bào)表和數(shù)據(jù)分析,本論文提出一個(gè)運(yùn)行于Excel Vba平臺(tái)上的用電報(bào)表自動(dòng)生成的辦公自動(dòng)化的解決方案。該程序包括數(shù)據(jù)、分析處理、報(bào)表導(dǎo)出3個(gè)模塊,能夠幫助企業(yè)迅速高效地對(duì)當(dāng)月用電情況作出分析和報(bào)告,最大程度地避免了人工手動(dòng)操作,極大地提高了結(jié)算的準(zhǔn)確度和效率。
Vba 宏 報(bào)表處理
勝利油田二級(jí)單位用電報(bào)表主要以Excel電子表格xls文件格式以郵件的形式傳播,原始數(shù)據(jù)采取供電公司網(wǎng)絡(luò)提供和二級(jí)單位現(xiàn)場(chǎng)抄表人員自行上報(bào)抄表數(shù)據(jù)對(duì)照驗(yàn)證采集,在傳統(tǒng)人工結(jié)算管理操作中,需要登錄網(wǎng)站復(fù)制粘貼數(shù)據(jù),通過(guò)設(shè)定公式得出計(jì)算結(jié)果再手動(dòng)復(fù)制粘貼、更改日期另存報(bào)表文件,其過(guò)程繁瑣且不可避免地出現(xiàn)手工運(yùn)算的情況,效率低下,容易出錯(cuò),大部分工作屬于機(jī)械性非創(chuàng)造性的勞動(dòng),完全可以通過(guò)編程交給計(jì)算機(jī)自動(dòng)運(yùn)行。
Vba語(yǔ)言:微軟Office辦公軟件內(nèi)置Visual Basic Application語(yǔ)言用于開(kāi)發(fā)文檔內(nèi)可批量操作的宏命令,是辦公自動(dòng)化解決方案的天然工具?;趫?bào)表本身格式的要求,本系統(tǒng)采用Excel自帶的Vba語(yǔ)言進(jìn)行開(kāi)發(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è)置
在工作簿打開(kāi)的過(guò)程workbook_open()賦值所有全局變量并執(zhí)行驗(yàn)證功能:
3.2 Web查詢供電公司數(shù)據(jù)
每月供電公司網(wǎng)站定期錄入已結(jié)算數(shù)據(jù),分為抄表匯總和電費(fèi)明細(xì)兩頁(yè),各用電單位登錄后自動(dòng)顯示當(dāng)前月數(shù)據(jù)。由于供電公司的數(shù)據(jù)在結(jié)算后已經(jīng)下賬,不可更改,即使有錯(cuò)誤也會(huì)在下月累計(jì)修正,因此賬面上不存在錯(cuò)誤的問(wèn)題,如有差異只有在本單位自行抄表數(shù)據(jù)中配合更改。在本系統(tǒng)中分別設(shè)定“抄表”和“電費(fèi)明細(xì)”兩個(gè)工作表用于復(fù)制存儲(chǔ)。
在VB編輯器中添加窗體,加入WebBrowser控件,使之擁有自己的內(nèi)置瀏覽器,在代碼中填入本單位用戶名和口令,用來(lái)自動(dòng)登錄網(wǎng)站取得查詢權(quán)限。核心代碼:[1]
3.3 導(dǎo)入本單位抄表數(shù)據(jù)
單位現(xiàn)場(chǎng)人員整理發(fā)送形如“2014水、電、油統(tǒng)計(jì)表(1月結(jié)).xls”的抄表文件,設(shè)置功能按鈕實(shí)現(xiàn)點(diǎn)擊后自動(dòng)讀取當(dāng)月電抄表數(shù)據(jù)復(fù)制到本系統(tǒng)工作簿中的目標(biāo)工作表內(nèi),核心代碼:
3.4 對(duì)照驗(yàn)證
在各工作表之間,用形如“=A14=H14”的邏輯判斷函數(shù)查看兩個(gè)單元格數(shù)據(jù)是否相等,返回TRUE或FALSE,并且用連接單元格的方式匯總所有邏輯結(jié)果進(jìn)行全面判斷,若都為TRUE則驗(yàn)證通過(guò),設(shè)置總判斷函數(shù)結(jié)果為“OK”,否則結(jié)果為“NOK”。把結(jié)果設(shè)定為字符串型是為了在測(cè)試某些數(shù)據(jù)時(shí),不需要?jiǎng)e的嚴(yán)格驗(yàn)證而能執(zhí)行,方便手動(dòng)更改總體判斷結(jié)果執(zhí)行命令。總體判斷函數(shù):
3.5 分析
大部分報(bào)表的分析只需要設(shè)定公式和頁(yè)面布局即可從原始數(shù)據(jù)區(qū)提取相關(guān)信息完成運(yùn)算歸類,生成報(bào)表內(nèi)容,除了按月導(dǎo)出月度報(bào)表文件外無(wú)需宏命令。個(gè)別涉及到累計(jì)數(shù)據(jù)的報(bào)表,則不能在此單月文件內(nèi)直接處理,因此建立累計(jì)數(shù)據(jù)表工作簿,在本月系統(tǒng)內(nèi)的統(tǒng)一操作中提供月份參數(shù),把相關(guān)報(bào)表的本月數(shù)據(jù)寫入累計(jì)數(shù)據(jù)表,并讀取其中的截止到本月份的累計(jì)數(shù)據(jù)寫回相關(guān)報(bào)表。其中涉及到去年截止到本月累積數(shù)據(jù)的,不能直接讀取其合計(jì)數(shù),通過(guò)月份參數(shù)循環(huán)累加到本月份獲得去年至當(dāng)前同月份累計(jì)數(shù),示例代碼:
3.6 導(dǎo)出報(bào)表
每個(gè)預(yù)上報(bào)的報(bào)表都存有形如“分公司月度用電分析報(bào)表00.xls”的模板文件,程序把整理后的數(shù)據(jù)按照其數(shù)據(jù)區(qū)域復(fù)制到此文件,然后修改成當(dāng)月日期,另存為當(dāng)月月份的上報(bào)報(bào)表。核心代碼:
3.7 綜合批量操作
每個(gè)報(bào)表導(dǎo)出操作都是一個(gè)過(guò)程(sub),設(shè)定了相應(yīng)的功能按鈕實(shí)現(xiàn)點(diǎn)擊運(yùn)行。當(dāng)全部數(shù)據(jù)都驗(yàn)證無(wú)誤后,即可實(shí)現(xiàn)單擊一個(gè)“一鍵完成”的總體按鈕批量操作,一次性調(diào)用全部的過(guò)程。若驗(yàn)證未通過(guò),顯示警告框退出總過(guò)程,反之Excel會(huì)根據(jù)指令依次打開(kāi)或建立報(bào)表文檔,在Excel2003中點(diǎn)擊程序的總關(guān)閉鍵會(huì)關(guān)閉所有已打開(kāi)的單子表格文檔,提示是否保存警告框,選擇“全是”即可保存全部報(bào)表及中間累計(jì)存儲(chǔ)性文檔。核心代碼:
本系統(tǒng)經(jīng)筆者開(kāi)發(fā)運(yùn)行半年,期間不斷改進(jìn),彌補(bǔ)了人工操作中繁瑣、易遺漏、不利于驗(yàn)證等種種不足之處,圓滿實(shí)現(xiàn)了提高效率和準(zhǔn)確性的預(yù)期效果,特別是在相關(guān)人員沒(méi)有及時(shí)上報(bào)數(shù)據(jù)時(shí)間緊迫的情況下發(fā)揮了關(guān)鍵性的作用,作為一項(xiàng)已經(jīng)成熟的系統(tǒng),可以推廣到其他油田二級(jí)單位使用。
[1]@冰凍熱涼茶,VBA-網(wǎng)頁(yè)控制方式簡(jiǎn)介,http://chiensq. blog.163.com/blog/static/1035628201174015765/,2011-8-4.
[2]@david,學(xué)用Excel VBA對(duì)象的事件編程,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