王祎 董智勇
摘要:根據(jù)大學(xué)教務(wù)工作需求,應(yīng)用工作流模式和C#語(yǔ)言開發(fā)了教務(wù)管理輔助應(yīng)用程序,實(shí)現(xiàn)了以時(shí)間軸為基礎(chǔ)對(duì)涉及到的人員、任務(wù)和數(shù)據(jù)進(jìn)行整合,一鍵發(fā)送Excel表格中的內(nèi)容到電子郵件、辦公OA和短信等外部應(yīng)用程序。軟件克服了不同信息系統(tǒng)中的“孤島”現(xiàn)象,優(yōu)化了傳統(tǒng)教學(xué)管理中的工作流程,實(shí)現(xiàn)多種渠道的信息公開和傳達(dá),提升了教務(wù)工作效率,減少了教學(xué)事故發(fā)生。
關(guān)鍵詞:教務(wù)管理;工作流;Excel AddIn;SendKeys
一、背景概述
大學(xué)教學(xué)管理日常工作量大,涉及人員和事務(wù)復(fù)雜。以考務(wù)組織為例,對(duì)學(xué)期末的多門課程排考后,教學(xué)秘書需要根據(jù)時(shí)間節(jié)點(diǎn),查看開課課表、教務(wù)通知等多個(gè)單獨(dú)文檔或表格,在不同管理系統(tǒng)中切換錄入和修改數(shù)據(jù),并及時(shí)通知相關(guān)主考和監(jiān)考教師,發(fā)布提醒信息,手工操作工作效率低,容易出現(xiàn)錯(cuò)誤。
目前教務(wù)管理、辦公OA和電子郵件等信息系統(tǒng)中普遍存在“信息孤島”現(xiàn)象 [1,2 ],各種系統(tǒng)中的數(shù)據(jù)只能手工輸入和遷移。本文根據(jù)實(shí)際工作需求,以日常使用最為頻繁的Excel軟件為基礎(chǔ),應(yīng)用工作流模式和C#語(yǔ)言開發(fā)加載項(xiàng)(AddIn)插件,實(shí)現(xiàn)一鍵發(fā)送內(nèi)容到電子郵件、辦公OA、短信和微信界面。
二、軟件架構(gòu)
工作流(Workflow),就是“業(yè)務(wù)過(guò)程的部分或整體在計(jì)算機(jī)應(yīng)用環(huán)境下的自動(dòng)化”,它主要解決的是“使在多個(gè)參與者之間按照某種預(yù)定義的規(guī)則傳遞文檔、信息或任務(wù)的過(guò)程自動(dòng)進(jìn)行,從而實(shí)現(xiàn)某個(gè)預(yù)期的業(yè)務(wù)目標(biāo),或者促使此目標(biāo)的實(shí)現(xiàn)” [3 ]。經(jīng)分析調(diào)研,大學(xué)教務(wù)管理工作一般都有嚴(yán)格的時(shí)間節(jié)點(diǎn),例如監(jiān)考組織,涉及確認(rèn)考試時(shí)間地點(diǎn)、提前通知主考教師和學(xué)生時(shí)間、提前通知監(jiān)考教師時(shí)間等,因此,擬開發(fā)“教務(wù)助手”輔助應(yīng)用程序,以時(shí)間軸為主線將各項(xiàng)工作從不同的系統(tǒng)中導(dǎo)出,整合到日常辦公平臺(tái)中,其架構(gòu)如圖1:
三、主要實(shí)現(xiàn)方法
在微軟Visual Studio.Net 2010平臺(tái)上,新建一個(gè)Excel 2010外接程序(Excel AddIn) [4 ],這是一種托管代碼外接程序,用戶安裝發(fā)布后的軟件后,會(huì)自動(dòng)在Excel軟件上增加加載項(xiàng)菜單 [5 ],在使用Excel軟件過(guò)程中隨時(shí)點(diǎn)擊菜單項(xiàng),即可執(zhí)行相應(yīng)功能,調(diào)取工作簿內(nèi)容,并啟動(dòng)其他應(yīng)用程序,實(shí)現(xiàn)協(xié)同工作。
本軟件命名為“教務(wù)助手”,主要功能有“發(fā)OA”“發(fā)郵件”“發(fā)短信”等3種,并且可以在同一架構(gòu)下自由擴(kuò)展。用戶在使用Excel時(shí),可以隨時(shí)點(diǎn)擊菜單欄的“加載項(xiàng)”,調(diào)出“教務(wù)助手”的子菜單(圖2)。
1.在Excel中創(chuàng)建菜單并響應(yīng)用戶操作的核心代碼(有刪減):
private void ThisAddIn_Startup(object sender, System.EventArgs e){menuCreateMail = commandBarPopupTmp.Controls.Add(Office.MsoControlType.msoControlButton, Type.Missing, Type.Missing, 1, true); menuCreateMail.Caption = “發(fā)OA”;}
2.查找并控制其它Windows窗體的核心代碼(有刪減):
【DllImport(“user32.dll”, EntryPoint = “FindWindow”, SetLastError = true)】
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
IntPtr hwndCalc = FindWindow(null, “工作任務(wù) —— 新建任務(wù)—— 網(wǎng)頁(yè)對(duì)話框”);
3.發(fā)送字符串和自動(dòng)填充表單的核心代碼(有刪減):
if (hwndCalc != IntPtr.Zero){ SetForegroundWindow(hwndCalc);
Clipboard.SetText(“監(jiān)考通知”); SendKeys.SendWait(“^v”);SendKeys.SendWait(“{Tab}”); }
四、應(yīng)用效果
在安裝該軟件后,教務(wù)工作人員如果需要批量通知幾十名監(jiān)考教師,只須點(diǎn)擊相應(yīng)菜單,軟件即可自動(dòng)逐行復(fù)制Excel工作簿中的單元格文本,自動(dòng)匹配人員,獲取手機(jī)號(hào)碼、Email地址或OA用戶名,使用SendKeys功能,發(fā)送文本信息到相關(guān)程序或網(wǎng)頁(yè),填寫表單 [6 ],經(jīng)操作人員手工確認(rèn)或修改后,執(zhí)行發(fā)送功能,實(shí)現(xiàn)半自動(dòng)的信息批量發(fā)送,可大幅節(jié)省工作量,并防止手工錄入錯(cuò)誤。圖2顯示了軟件讀取數(shù)據(jù),控制用友致遠(yuǎn)A8 辦公系統(tǒng)發(fā)送監(jiān)考通知的過(guò)程。
五、總結(jié)
教務(wù)管理輔助應(yīng)用程序優(yōu)化了傳統(tǒng)教學(xué)管理中的工作流程,以時(shí)間軸為基礎(chǔ),對(duì)涉及到的多個(gè)信息系統(tǒng)中的人員、任務(wù)和數(shù)據(jù)進(jìn)行整合,實(shí)現(xiàn)多種渠道的信息公開和傳達(dá),提升了教務(wù)工作效率,減少了教學(xué)事故發(fā)生。
參考文獻(xiàn):
[1]張珍義.高校數(shù)字化校園建設(shè)中“信息孤島”現(xiàn)象的探討[J].中國(guó)教育信息化,2008(13).
[2]涂振宇.數(shù)字化校園建設(shè)存在的問(wèn)題與對(duì)策研究[J].信息與電腦(理論版),2014(4).
[3]曹風(fēng)華. 基于工作流技術(shù)的學(xué)生評(píng)語(yǔ)生成系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 現(xiàn)代計(jì)算機(jī)(專業(yè)版),2011(10).
[4]苑青,孔捷,冷靜. 利用VSTO和.NET的Office開發(fā)技術(shù)[J]. 電腦編程技巧與維護(hù),2009(6).
[5]王海波,王兆華.Excel查找擴(kuò)展組件SearchPro4Excel的開發(fā)和應(yīng)用[J].計(jì)算機(jī)與現(xiàn)代化,2013(1).
[6]張濤.校園網(wǎng)絡(luò)信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2011(11).
■ 編輯∕岳 鳳