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