劉廣忠,齊傳輝
(河北工程技術(shù)高等專科學(xué)校,河北 滄州 061001)
在做報(bào)告、產(chǎn)品推介、教師授課等場(chǎng)合,往往需要制作幻燈片以增強(qiáng)生動(dòng)、直觀的效果。在特效要求不太高的情況下,一般首選Microsoft Office Power Point(以下簡(jiǎn)稱PPT)作為幻燈片制作工具。PPT就像一個(gè)容器,用戶可以將文字、圖片、聲音甚至影像等媒體元素加入其中,但這些元素都是靜態(tài)的,一旦設(shè)計(jì)完成,在播放時(shí)用戶不可更改。缺乏用戶的交互操作,使得靈活性不足,限制了PPT的使用效果。然而,在實(shí)踐中,經(jīng)常會(huì)遇到諸如課堂互動(dòng)教學(xué)練習(xí)[1][4]、會(huì)議發(fā)言順序提示等應(yīng)用實(shí)例。這些應(yīng)用實(shí)例都有一個(gè)顯著特點(diǎn):用戶界面布局基本相同,而數(shù)據(jù)需要不斷變化。解決這類問題,一般采用反復(fù)復(fù)制/粘貼幻燈片,然后再進(jìn)行修改的方法。該方法雖然簡(jiǎn)單易行,但存在播放時(shí)用戶不能交互操作、操作繁瑣易出錯(cuò)、文件存儲(chǔ)空間大等問題。本文提出了一種基于二層結(jié)構(gòu)的交互式動(dòng)態(tài)PPT幻燈片的設(shè)計(jì)方法,即利用PPT內(nèi)置的VBA進(jìn)行二次開發(fā)[2],很好地解決了以上問題。
圖1 二層結(jié)構(gòu)
將 PPT 的幻燈片作為客戶(Client)端界面,使數(shù)據(jù)進(jìn)行格式化顯示;用 SQL Server、FoxBASE、Excel等數(shù)據(jù)庫(kù)作為服務(wù)器(Server)端,為客戶端界面提供數(shù)據(jù)支持;通過(guò)VBA編程,實(shí)現(xiàn)客戶端與服務(wù)器端的數(shù)據(jù)連接,該結(jié)構(gòu)如圖1所示。
由于Microsoft Office Excel在數(shù)據(jù)編輯和管理方面表現(xiàn)突出,且已被廣泛使用,本文采用PPT+Excel+VBA作為總體結(jié)構(gòu)框架,通過(guò)讀取Excel文件中的記錄,使數(shù)據(jù)以適當(dāng)?shù)姆绞斤@示在幻燈片上,發(fā)揮了PPT與Excel各自的優(yōu)勢(shì)。
以“某公司房屋銷售統(tǒng)計(jì)分析”為例,說(shuō)明如何通過(guò)VBA編程將PPT與Excel結(jié)合起來(lái)的設(shè)計(jì)方法。
本示例的設(shè)計(jì)主要包括界面設(shè)計(jì)、建立Excel文件、創(chuàng)建PPT與Excel的連接和數(shù)據(jù)輸出4項(xiàng)內(nèi)容。界面設(shè)計(jì):不同于一般的演示文稿制作,要使用“控件工具箱”中的控件。建立Excel文件:文件名任意,無(wú)題目,編寫若干條記錄,文件結(jié)構(gòu)如圖2所示。PPT與Excel的連接:通過(guò)ADODB部件來(lái)創(chuàng)建PPT與Excel數(shù)據(jù)庫(kù)的連接。數(shù)據(jù)輸出設(shè)計(jì):通過(guò)控件的事件過(guò)程來(lái)實(shí)現(xiàn)。
圖2 Excel文件結(jié)構(gòu)
圖3 PPT主界面布置
2.2.1 PPT界面設(shè)計(jì)在PowerPoint 工具欄上單擊右鍵,選擇“控件工具箱”,打開“控件工具箱”窗口,在幻燈片上添加三個(gè)命令按鈕(打開文件:cmdOpen File;下一條:cmdNext;上一條:cmdPrevious)、一個(gè)列表框(ListBox1)、一個(gè)標(biāo)簽控件(Label1)。單擊“其他控件”,在“其他控件”列表中添加一個(gè)圖形控件(Microsoft office chart,Chart Space1,一般 有 多個(gè)版本,可以選擇最高版本,本示例采用11.0版本)、一個(gè)通用對(duì)話控件(Microsoft Common Dialog Control,CommonDialog1)。界面布置如圖3所示。
2.2.2 引用ADO部件
雙擊界面中任何一個(gè)控件,打開VBA代碼編輯窗口,單擊菜單“工具”——“引用”,在“可使用的引用”對(duì)話框中,找到“Microsoft ActiveX Data Objects”并勾選,一般選擇列表中的最高版本,本示例中使用的是2.8版本。
2.2.3 建立數(shù)據(jù)庫(kù)連接并創(chuàng)建記錄集
為使模塊具有通用性,在工程VBAProject中添加一個(gè)模塊,為此,在VBAProject上右擊,在右鍵菜單中選擇“插入”——“模塊”,該模塊默認(rèn)名為“模塊1”,可不做修改。在其中編寫如下函數(shù):
2.2.4 讀取記錄集并填充列框表
打開Excel文件,將數(shù)據(jù)讀入記錄集,并將“部門”字段的數(shù)據(jù)填充到ListBox1列表框中。因此,在PPT頁(yè)面上雙擊“打開文件”按鈕,在打開的VBA編程環(huán)境中,寫入如下示例代碼:
2.2.5 運(yùn)行結(jié)果
最后的運(yùn)行結(jié)果如圖4所示。
為了突出重點(diǎn)和簡(jiǎn)單起見,以上內(nèi)容主要以一個(gè)動(dòng)態(tài)繪制單柱圖的形式說(shuō)明了實(shí)現(xiàn)交互動(dòng)態(tài)PPT的過(guò)程,但在此基礎(chǔ)上,稍作修改,可以很容易的實(shí)現(xiàn)功能擴(kuò)充。如圖5所示。具體過(guò)程不再贅述。
圖4 運(yùn)行結(jié)果
通過(guò)以上設(shè)計(jì)和編程,實(shí)現(xiàn)了僅用一張幻燈片動(dòng)態(tài)顯示多組數(shù)據(jù)的效果,從而將繁瑣的幻燈片設(shè)計(jì)問題轉(zhuǎn)化為簡(jiǎn)單的Excel文件建立問題,擴(kuò)展了PPT的功能,實(shí)現(xiàn)了PPT的交互性、動(dòng)態(tài)性和靈活性。另外,本示例方法具有很強(qiáng)的通用性和重復(fù)使用價(jià)值。
需要特別說(shuō)明的是,由于本示例中包含宏代碼,必須將PPT的宏安全設(shè)為“中”或“低”,否則看不到正常的播放效果。
圖5 多圖對(duì)比分析圖
[1]邱三平.PPT+VBA+Excel增強(qiáng)教學(xué)課件交互性研究[J].中國(guó)科教創(chuàng)新導(dǎo)刊,2010(14):188-189.
[2]陳思敏.利用Application對(duì)象事件實(shí)現(xiàn)動(dòng)態(tài)設(shè)定演示文稿放映內(nèi)容[J].電腦知識(shí)與技術(shù),2007(12):743-744.
[3]Guy Hart-Davis,楊密,等譯.VBA編程從入門到精通[M].北京:電子工業(yè)出版社,2008.
[4]唐麗,鄒縣芳.交互式課件設(shè)計(jì)中VBA技術(shù)應(yīng)用探究[J].阜陽(yáng)師范學(xué)院學(xué)報(bào):自然科學(xué)版,2011,28(2):107-109.