☆張慶
(南京市中橋中學,江蘇南京 210043)
在進行 Office 軟件(Word、Excel、PowerPoint)的教學時,教師往往先為學生提供必要的幫助信息,然后讓學生在完成特定任務過程中自主探究和學習。教師提供的信息通常以課件、網頁或普通文檔的形式存放在教師機讓學生共享,學生根據提示信息完成教師要求的任務。這種教學方法優點是方便快捷,節省時間,教師在課前就可以完成資料的準備工作,學生在任務完成過程中可以隨時翻看提示信息;缺點是學生需要在不同文件夾或程序中的文檔、網頁之間切換,影響了任務完成的速度和連續性,影響了學生學習效率。針對這個問題,筆者設計了利用Office自身提供的Vba功能設計個性化的工具欄,實現任務與相關資源的調用與整合,將這些提示性的文件直接在Office程序中顯示出來。此外,本研究中采用了將所有數據都存在外部數據庫,通過程序讀取、動態的加載與顯示的方式來實現一種適用于Office軟件學習的平臺。
建立access數據庫,將按鈕文字、任務內容、任務提示、Flash幫助調用文件路徑、網頁幫助調用文件路徑等內容存入數據表中。按鈕的類型、個數、幫助文件是針對具體任務還是針對全部任務都可設定。按鈕的類型分為三種:任務、Flash、網頁,在運行時將數據表的內容根據按鈕的類型分別讀入三個數組中,然后根據三個數組中相應類型按鈕的個數生成工具欄,并對工具欄按鈕進行初始設置。當按鈕被點擊時,程序會讀取與任務相關數組中的設置進行響應。
新建文件夾“我的測試”用于存放所需的資源文件,在其下建立子文件夾“樣圖”在其中放入八張任務模板樣圖(寬 200px 高 150px),分別命名為:1.jpg ……8.jpg,及其每一張的放大樣圖,分別命名為:d1.jpg……d8.jpg(寬571px高429px);建立子文件夾“Flash幫助” 在其中放入rw1.swf……rw8.swf八個幫助動畫文件;建立子文件夾“網頁幫助”,在其中放入“技術參考.htm”文件。
建立access數據庫“mydb.mdb”,在其中新建一個表并命名為“任務表”,結構如圖1所示:

圖1
“按鈕類型”、“任務標簽”是文本型,字段大小10;“任務內容”、“樣圖”、“放大圖”、“Flash”、“網頁”為文本型,字段大小為255;“提示”為備注型。可以通過增加或刪除記錄來增減按鈕,但按鈕類型只能是圖中的三種,任務標簽是顯示在按鈕上的文字可以自行設置。Flash按鈕和網頁按鈕可以是針對不同的任務調用不同的幫助信息,也可以是單獨調用某個幫助信息,如果是前者則只設置各任務后的相應列即可;如果是后者則各任務后的列為空,只設置Flash和網頁記錄后的相應列即可。
(1)新建文件名為“vba測試.doc”的文檔并保存在“我的測試”文件夾中。
(2)進入Visual Basic編輯器(Alt+F11)。點擊菜單“工具→宏→Visual Basic編輯器”。
(3)插入“模塊1”。“右擊Project(vba測試)→插入→模塊”可見在下面已經有了“模塊1”,雙擊“模塊1”打開,在窗口的右邊就可看到打開的“模塊1”,在這里寫入編寫的程序。
(4)定義全局變量及初始化對象設置。在剛打開的“模塊1”窗口中寫入下面的程序


(5)創建數據庫讀取函數。接上面程序繼續寫入下面代碼。


(6)創建自定義工具欄。接上面程序繼續寫入下面代碼。


(7)接上面程序繼續創建按鈕的響應過程。每組按鈕創建8個,也可更多,每個按鈕設置方法相同,不贅述。





(8)創建用于顯示的窗體。
①插入“任務顯示”窗體。“右擊Project(vba測試)→插入→用戶窗體”,可見“UserForm1”窗體,在下方的屬性窗口將“名稱”改成“任務顯示”、“caption”改成“任務顯示”、“Tag”改成“nochoice”、“Height”設為317“Width”設為 187。
打開工具箱,在窗體上從上至下依次添加“圖像”控件,“名稱”改為“image”、“Height”設為 124“Width”設為178;“標簽”控件,“caption”改為“操作要求”;“文字框”控件,“名稱”改為“textrw”、“Height”設為40“Width”設為 180;“標簽”控件,“caption”改為“操作提示”;“文字框” 控件,“名稱” 改為 “textts”、“Height”設為 92“Width”設為 180。
雙擊“image”控件進入代碼窗口,寫入下面代碼:

這段代碼的作用是:當點擊“image”控件時可以顯示“放大圖”窗體。
②插入“放大圖”窗體。將“名稱”改成“放大圖”、“caption”改成“放大圖”。打開工具箱,在窗體上添加“圖像”控件,“名稱”改為“image1”,“Height”設為336、“Width”設為 440。
③插入“Flash幫助”窗體。將“名稱”改成“flash幫助”、“caption”改成“操作訓練幫助”。
打開工具箱,在“控件”頁空白處點右鍵打開快捷菜單,點擊“附加控件”找到“Shockwave Flash Object”在前面的小方框中點擊,點擊“確定”。在“控件”頁上會出現剛添加的flash控件,將Flash控件添加到窗體,“名稱”改為“Flash”;“Height”設為 600、“Width”設為 800。
④插入“網頁幫助”窗體。將“名稱”改成“網頁幫助”、“caption”改成“網頁幫助”。
打開工具箱,在“控件”頁空白處點右鍵打開快捷菜單,點擊“附加控件”找到“Microsoft Web瀏覽器”在前面的小方框中點擊,點擊“確定”。在“控件”頁上會出現剛添加的“Web Browser”控件,將該控件添加到窗體,“名稱”改為“web”;“Height”設為 530、“Width”設為600。
(注:所有屬性的值在設置時都不要加上雙引號)
(9)工具欄的加載。
雙擊 Project(vba測試)下的 “ThisDocument”在“Document”的“Open”過程中寫入以下代碼:
Private Sub Document_Open()
工具欄
End Sub
這樣自定義的工具欄在文檔啟動時就被加載。
(10)數據庫控件引用。點擊菜單“工具→引用”,在對話框中找到 “MicrosoftActiveX DataObjects2.0 Library”在前面的小方框中選中后點“確定”。
(11)設定宏安全級為低。
關閉VB窗口,在文檔窗口中點擊菜單“工具→宏→安全性→安全級→低。然后關閉word后再打開文檔。
excel中應用與word中基本相同,將上述代碼略作更改。
(1) 將第4步 “初始化” 中的Set OBJDX=Application.ActiveDocument 改 為 Set OBJDX =Application.ActiveWorkbook。
(2)第9步工具欄加載方法。
雙擊Project(Excel測試)下的“ThisWorkbook”在“Workbook”的“Open”過程中寫入以下代碼:
Private Sub Workbook_Open()
工具欄
End Sub
PowerPoint中應用與Word中基本相同,將上述代碼略作更改。
(1)將第4步“初始化”中的Set OBJDX = Application.Active Document改 為 Set OBJDX = Application.Active Presentation
(2)第9步工具欄加載方法。由于在PowerPoint中沒有“Open”過程,所以,工具欄的加載有些不同。
①在要完成作品的第一頁加入一個按鈕。點擊“視圖→工具欄→控件工具欄”,將命令按鈕放入頁面中,在按鈕上右擊選“屬性”,將“名稱”設為“cmd”,“caption”設定為“顯示任務欄”。雙擊按鈕進入代碼窗口,加入下面代碼:

②加入按鈕還原功能。進入“模塊1”代碼窗口,將下面代碼加入:


③使用方法。用“F5”或點擊“幻燈片放映→觀看放映”,點擊“顯示任務欄”按鈕即可看到加載的工具欄。工具欄加載成功后按鈕被隱藏,若要按鈕再次顯示可點擊“工具→宏→宏”找到“按鈕還原”運行。
(1)Flash幫助動畫可以用“adobe captivate”錄制成動畫或操作訓練,錄制大小可以設成800×600。
(2)其它視頻幫助可以用“格式工廠”轉換為Flash。
(3)課堂反饋部分可以通過“網頁幫助”功能訪問用Moodle建立的試題測試。
(4)程序在 Officexp、Office2003、Office2007、Office2010上測試通過,由于Office2007后對界面進行了大改變,所以,Office2007以后可在“加載宏”標簽中找到自定義的工具欄。
(5)運行截圖,如圖2所示:

圖2