劉 通
(山東省東營市勝利油田物資供應處生產管理中心 山東 東營 257000)
中石化勝利油田二級單位用電報表處理系統
劉 通
(山東省東營市勝利油田物資供應處生產管理中心 山東 東營 257000)
隨著節能減排的要求,對企業用電管理要做到精細化,這就意味著要提報更多的統計報表和數據分析,本論文提出一個運行于Excel Vba平臺上的用電報表自動生成的辦公自動化的解決方案。該程序包括數據、分析處理、報表導出3個模塊,能夠幫助企業迅速高效地對當月用電情況作出分析和報告,最大程度地避免了人工手動操作,極大地提高了結算的準確度和效率。
Vba 宏 報表處理
勝利油田二級單位用電報表主要以Excel電子表格xls文件格式以郵件的形式傳播,原始數據采取供電公司網絡提供和二級單位現場抄表人員自行上報抄表數據對照驗證采集,在傳統人工結算管理操作中,需要登錄網站復制粘貼數據,通過設定公式得出計算結果再手動復制粘貼、更改日期另存報表文件,其過程繁瑣且不可避免地出現手工運算的情況,效率低下,容易出錯,大部分工作屬于機械性非創造性的勞動,完全可以通過編程交給計算機自動運行。
Vba語言:微軟Office辦公軟件內置Visual Basic Application語言用于開發文檔內可批量操作的宏命令,是辦公自動化解決方案的天然工具?;趫蟊肀旧砀袷降囊?,本系統采用Excel自帶的Vba語言進行開發。
每月保存形如原始數據01.xls的文件,系統所有代碼和分析用公式布局框架均存入此文件,月份數不足兩位的補0,以保證文件名的規格統一,便于提取每月的關鍵字月份數monNum。
具體模塊及流程圖如圖1所示。

圖1 模塊及流程圖
定稿日期:2014-02-12
3.1 全局設置
在工作簿打開的過程workbook_open()賦值所有全局變量并執行驗證功能:

3.2 Web查詢供電公司數據
每月供電公司網站定期錄入已結算數據,分為抄表匯總和電費明細兩頁,各用電單位登錄后自動顯示當前月數據。由于供電公司的數據在結算后已經下賬,不可更改,即使有錯誤也會在下月累計修正,因此賬面上不存在錯誤的問題,如有差異只有在本單位自行抄表數據中配合更改。在本系統中分別設定“抄表”和“電費明細”兩個工作表用于復制存儲。
在VB編輯器中添加窗體,加入WebBrowser控件,使之擁有自己的內置瀏覽器,在代碼中填入本單位用戶名和口令,用來自動登錄網站取得查詢權限。核心代碼:[1]

3.3 導入本單位抄表數據
單位現場人員整理發送形如“2014水、電、油統計表(1月結).xls”的抄表文件,設置功能按鈕實現點擊后自動讀取當月電抄表數據復制到本系統工作簿中的目標工作表內,核心代碼:

3.4 對照驗證
在各工作表之間,用形如“=A14=H14”的邏輯判斷函數查看兩個單元格數據是否相等,返回TRUE或FALSE,并且用連接單元格的方式匯總所有邏輯結果進行全面判斷,若都為TRUE則驗證通過,設置總判斷函數結果為“OK”,否則結果為“NOK”。把結果設定為字符串型是為了在測試某些數據時,不需要別的嚴格驗證而能執行,方便手動更改總體判斷結果執行命令??傮w判斷函數:
3.5 分析
大部分報表的分析只需要設定公式和頁面布局即可從原始數據區提取相關信息完成運算歸類,生成報表內容,除了按月導出月度報表文件外無需宏命令。個別涉及到累計數據的報表,則不能在此單月文件內直接處理,因此建立累計數據表工作簿,在本月系統內的統一操作中提供月份參數,把相關報表的本月數據寫入累計數據表,并讀取其中的截止到本月份的累計數據寫回相關報表。其中涉及到去年截止到本月累積數據的,不能直接讀取其合計數,通過月份參數循環累加到本月份獲得去年至當前同月份累計數,示例代碼:

3.6 導出報表
每個預上報的報表都存有形如“分公司月度用電分析報表00.xls”的模板文件,程序把整理后的數據按照其數據區域復制到此文件,然后修改成當月日期,另存為當月月份的上報報表。核心代碼:

3.7 綜合批量操作
每個報表導出操作都是一個過程(sub),設定了相應的功能按鈕實現點擊運行。當全部數據都驗證無誤后,即可實現單擊一個“一鍵完成”的總體按鈕批量操作,一次性調用全部的過程。若驗證未通過,顯示警告框退出總過程,反之Excel會根據指令依次打開或建立報表文檔,在Excel2003中點擊程序的總關閉鍵會關閉所有已打開的單子表格文檔,提示是否保存警告框,選擇“全是”即可保存全部報表及中間累計存儲性文檔。核心代碼:

本系統經筆者開發運行半年,期間不斷改進,彌補了人工操作中繁瑣、易遺漏、不利于驗證等種種不足之處,圓滿實現了提高效率和準確性的預期效果,特別是在相關人員沒有及時上報數據時間緊迫的情況下發揮了關鍵性的作用,作為一項已經成熟的系統,可以推廣到其他油田二級單位使用。
[1]@冰凍熱涼茶,VBA-網頁控制方式簡介,http://chiensq. blog.163.com/blog/static/1035628201174015765/,2011-8-4.
[2]@david,學用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