摘要:本文是一個(gè)Microsoft Office2003組件的整合應(yīng)用實(shí)例。作者以胸牌證的制作過(guò)程為例,介紹了Office組件的不同功能及其高度的兼容性,其中巧妙分解任務(wù)、“分段”處理復(fù)雜工程的思想和方法值得學(xué)習(xí)借鑒,并提出教學(xué)中應(yīng)注重這種思維的培育,以期達(dá)到拓展學(xué)生思維、培養(yǎng)實(shí)用人才的作用。
關(guān)鍵詞:Office;組件;整合;實(shí)例;VBA;套打
中圖分類(lèi)號(hào):G434 文獻(xiàn)標(biāo)識(shí)碼:A 論文編號(hào):1674-2117(2018)01-0077-03
日常辦公中,教師們經(jīng)常會(huì)套打一些帶照片的證書(shū)或證件。證件數(shù)量較少時(shí),可用Photoshop等圖像處理軟件來(lái)完成,然而如果采用同樣的方法處理大批量的證件,則費(fèi)時(shí)費(fèi)力又低效。筆者在實(shí)踐中逐漸摸索出一套簡(jiǎn)明高效的照片證件處理方法,現(xiàn)以學(xué)生胸牌制作為例,分享具體方法。
照片證件套打原理
照片證件一般含圖像和文本兩種元素,圖像多為數(shù)碼照片,文本為基本信息資料。照片證件套打的基本原理是預(yù)先將文本信息以及照片文件名存儲(chǔ)在數(shù)據(jù)庫(kù)表記錄中,再通過(guò)設(shè)計(jì)報(bào)表將這些記錄信息準(zhǔn)確地定位到模板的相應(yīng)位置上,然后逐頁(yè)打印報(bào)表即可。這種方法對(duì)計(jì)算機(jī)系統(tǒng)要求低,無(wú)須安裝龐大的圖形圖像處理軟件,只要安裝面向?qū)ο蟮臄?shù)據(jù)庫(kù)軟件即可。
胸牌制作過(guò)程
利用照片證件套打原理制作學(xué)生胸牌時(shí)需要先制作好胸牌模板,并分班級(jí)存放好學(xué)生照片的文件。圖1是筆者整理好的胸牌模板和資料文件夾,其中班級(jí)子文件夾中存放學(xué)生照片,并以姓名命名。
由于制作胸牌時(shí)需要提供學(xué)生相關(guān)文本信息,所以要先設(shè)計(jì)好打印報(bào)表。下面,筆者分兩個(gè)模塊分別介紹它們的生成過(guò)程。
模塊一:建立學(xué)生信息數(shù)據(jù)表
VBA是Microsoft Office系列內(nèi)置的面向?qū)ο蟮木幊陶Z(yǔ)言。與其他面向?qū)ο缶幊陶Z(yǔ)言一樣,VBA里也有對(duì)象、屬性、方法和事件,filesearch 對(duì)象功能就是遍歷指定文件夾。利用filesearch對(duì)象可將照片文件夾中的所有圖像文件搜索出來(lái),并結(jié)合Excel函數(shù)創(chuàng)建一個(gè)學(xué)生信息數(shù)據(jù)表,具體分為兩個(gè)步驟。
步驟一:遍歷文件夾,搜索圖像文件
啟動(dòng)Excel,按Alt+F11,打開(kāi)VBA編輯器,插入一模塊,編寫(xiě)如下模塊代碼(filesarch的屬性已作了注釋?zhuān)┐蠹覍W(xué)習(xí)參考)。
這樣,在Excel中生成一張Sheet1工作表,在A列中存放著所有搜索到的含絕對(duì)路徑的照片文件名,此時(shí)Sheet1工作表處于打開(kāi)狀態(tài)。
步驟二:利用Excel函數(shù),從圖像文件名中提取學(xué)生有用信息
并將它們自動(dòng)填充到與A列行齊,得到圖2所示的學(xué)生資料信息表,其中A、C、E三列為打印胸牌時(shí)要用到的數(shù)據(jù),分別是:A列學(xué)生照片存放路徑,C列學(xué)生姓名,E列學(xué)生所在班級(jí)。這樣,一張存放學(xué)生信息的Excel表已經(jīng)生成。保存此表到工作目錄下,以備后用。
模塊二:設(shè)計(jì)報(bào)表
①啟動(dòng)Access,新建一空數(shù)據(jù)庫(kù),將模塊一中生成的Sheet1表導(dǎo)入,生成數(shù)據(jù)表1。
②為了方便設(shè)計(jì)報(bào)表,先以數(shù)據(jù)表1中的字段1、字段3和字段5三個(gè)字段建立查詢(xún)1。查詢(xún)結(jié)果如圖3所示。
③新建報(bào)表1,設(shè)置報(bào)表記錄源為查詢(xún)1,開(kāi)始設(shè)計(jì)報(bào)表。
④在報(bào)表主體部分插入名為Image0的圖像控件,設(shè)置其圖片屬性為胸牌模板圖片,大小為胸牌模板大小,可見(jiàn)性選“是”。
⑤插入三個(gè)文本框控件,拖放好位置,設(shè)置好字體、字號(hào)等,如上頁(yè)圖4中a所示。文本框控件來(lái)源分別為查詢(xún)數(shù)據(jù)1中的字段1、字段3和字段5三個(gè)查詢(xún)字段,可見(jiàn)性全部設(shè)置為“是”。
⑥在主體節(jié)上需要顯示學(xué)生照片的位置添加stuImage圖像控件,調(diào)好大小,圖片類(lèi)型的屬性為“鏈接”,縮放模式屬性為“縮放”,可見(jiàn)性為“是”。
⑦編寫(xiě)控制代碼,根據(jù)報(bào)表字段1文本框中顯示的內(nèi)容來(lái)確定鏈接照片的位置。具體方法是點(diǎn)擊菜單欄“視圖→代碼”命令,進(jìn)入VBA代碼編寫(xiě)窗口,編寫(xiě)如下代碼:
預(yù)覽報(bào)表,結(jié)果如上頁(yè)圖4中b所示。如果不滿(mǎn)意,返回設(shè)計(jì)視圖調(diào)試直到滿(mǎn)意為止。
⑧將字段1的可見(jiàn)性屬性設(shè)為“否”,讓其在打印輸出時(shí)不再顯示,最終輸出結(jié)果為如上頁(yè)圖4中c所示。
⑨打印報(bào)表,完成。
結(jié)語(yǔ)
Microsoft Office組件是針對(duì)不同應(yīng)用領(lǐng)域開(kāi)發(fā)的應(yīng)用軟件,在它們各自領(lǐng)域都有其獨(dú)特的功能,我們可以利用各組件的優(yōu)勢(shì),將一個(gè)工程“分段”后分包給這些精英組件進(jìn)行處理,并利用組件間的高度兼容性巧妙完成復(fù)雜任務(wù),這也是系列軟件學(xué)習(xí)應(yīng)用中值得推廣的思想和方法。
參考文獻(xiàn):
[1]百度文庫(kù).在VBA遍歷文件夾和子文件夾中所有文件[DB/OL].http://wenku.baidu.com/view/a800a78583d049649b665814.html,2010-7-27/2013-5-7.
[2]百度百科.在Access窗體、報(bào)表和控件中使用圖像[DB/OL].http://office.microsoft.com/zh-cn/access-help/HA001147204.aspx, 2013-4-26/2013-5-7.
[3]薛靜峰,李鳳霞,黃都培.Access及其應(yīng)用系統(tǒng)開(kāi)發(fā)[M].北京:清華大學(xué)出版社,2002.
作者簡(jiǎn)介:張興榮(1973—),男,漢族,甘肅慶陽(yáng)人,一級(jí)教師,主要從事中職計(jì)算機(jī)、高中信息技術(shù)科教學(xué)及電教管理及維護(hù)工作。endprint